int main(int argc, char **argv) { RmMountTable *table = rm_mounts_table_new(); g_printerr("\n"); for(int i = 1; i < argc; ++i) { dev_t dev = rm_mounts_get_disk_id_by_path(table, argv[i]); g_printerr( "%30s is on %4srotational device \"%s\" and on disk %02u:%02u\n", argv[i], rm_mounts_is_nonrotational_by_path(table, argv[i]) ? "non-" : "", rm_mounts_get_name(table, dev), major(dev), minor(dev) ); } rm_mounts_table_destroy(table); return EXIT_SUCCESS; }
RmMDS *rm_mds_new(const gint max_threads, RmMountTable *mount_table, bool fake_disk) { RmMDS *self = g_slice_new0(RmMDS); g_mutex_init(&self->lock); g_cond_init(&self->cond); self->max_threads = max_threads; if(!mount_table && !fake_disk) { self->mount_table = rm_mounts_table_new(FALSE); } else { self->mount_table = mount_table; } self->fake_disk = fake_disk; self->disks = g_hash_table_new(g_direct_hash, g_direct_equal); self->running = FALSE; return self; }