Don't set I/O Scheduler for Partitions
authorBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 10 Mar 2011 21:34:17 +0000 (13:34 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 10 Mar 2011 21:34:17 +0000 (13:34 -0800)
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

index 69bc53b..ec627a9 100644 (file)
@@ -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);