From 04516a45b27144cf42bec005ef2de6d505d236a5 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Thu, 10 Mar 2011 13:34:17 -0800 Subject: [PATCH] Don't set I/O Scheduler for Partitions ZFS should only change the i/o scheduler for a disk when it has ownership of the whole disk. This is basically the same logic as adjusting the write cache behavior on a disk. This change updates the vdev disk code to skip partitions when setting the i/o scheduler. Closes #152 --- module/zfs/vdev_disk.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/module/zfs/vdev_disk.c b/module/zfs/vdev_disk.c index 69bc53b4b..ec627a9c4 100644 --- a/module/zfs/vdev_disk.c +++ b/module/zfs/vdev_disk.c @@ -131,6 +131,10 @@ vdev_elevator_switch(vdev_t *v, char *elevator) char *envp[] = { NULL }; int count = 0, error; + /* Skip devices which are not whole disks (partitions) */ + if (!v->vdev_wholedisk) + return (0); + /* Skip devices without schedulers (loop, ram, dm, etc) */ if (!q->elevator || !blk_queue_stackable(q)) return (0);