RmMDSDevice *rm_mds_device_get(RmMDS *mds, const char *path, dev_t dev) { dev_t disk = 0; if(dev == 0) { dev = rm_mounts_get_disk_id_by_path(mds->mount_table, path); } if(mds->fake_disk) { disk = dev; } else { disk = rm_mounts_get_disk_id(mds->mount_table, dev, path); } return rm_mds_device_get_by_disk(mds, disk); }
dev_t rm_mounts_get_disk_id_by_path(RmMountTable *self, const char *path) { if(self == NULL) { return 0; } RmStat stat_buf; if(rm_sys_stat(path, &stat_buf) == -1) { return 0; } return rm_mounts_get_disk_id(self, stat_buf.st_dev); }