Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-static int disk_util_exists(int major, int minor)
+static struct disk_util *disk_util_exists(int major, int minor)
{
struct list_head *entry;
struct disk_util *du;
{
struct list_head *entry;
struct disk_util *du;
du = list_entry(entry, struct disk_util, list);
if (major == du->major && minor == du->minor)
du = list_entry(entry, struct disk_util, list);
if (major == du->major && minor == du->minor)
}
static void disk_util_add(int majdev, int mindev, char *path)
}
static void disk_util_add(int majdev, int mindev, char *path)
INIT_LIST_HEAD(&du->list);
sprintf(du->path, "%s/stat", path);
du->name = strdup(basename(path));
INIT_LIST_HEAD(&du->list);
sprintf(du->path, "%s/stat", path);
du->name = strdup(basename(path));
du->major = majdev;
du->minor = mindev;
du->major = majdev;
du->minor = mindev;
{
struct stat st;
char foo[PATH_MAX], tmp[PATH_MAX];
{
struct stat st;
char foo[PATH_MAX], tmp[PATH_MAX];
int mindev, majdev;
char *p;
int mindev, majdev;
char *p;
mindev = minor(st.st_dev);
}
mindev = minor(st.st_dev);
}
- if (disk_util_exists(majdev, mindev))
+ du = disk_util_exists(majdev, mindev);
+ if (du) {
+ if (td->o.ioscheduler && !td->sysfs_root)
+ td->sysfs_root = strdup(du->sysfs_root);
+
/*
* for an fs without a device, we will repeatedly stat through
/*
* for an fs without a device, we will repeatedly stat through
struct list_head list;
char *name;
struct list_head list;
char *name;
char path[256];
int major, minor;
char path[256];
int major, minor;