#include <sys/sunldi.h>
char *zfs_vdev_scheduler = VDEV_SCHEDULER;
+static void *zfs_vdev_holder = VDEV_HOLDER;
/*
* Virtual device vector for disks.
struct gendisk *disk;
int error, partno;
- bdev = vdev_bdev_open(path, vdev_bdev_mode(mode), vd);
+ bdev = vdev_bdev_open(path, vdev_bdev_mode(mode), zfs_vdev_holder);
if (IS_ERR(bdev))
return bdev;
* Devices are always opened by the path provided at configuration
* time. This means that if the provided path is a udev by-id path
* then drives may be recabled without an issue. If the provided
- * path is a udev by-path path then the physical location information
+ * path is a udev by-path path, then the physical location information
* will be preserved. This can be critical for more complicated
* configurations where drives are located in specific physical
* locations to maximize the systems tolerence to component failure.
- * Alternately you can provide your own udev rule to flexibly map
+ * Alternatively, you can provide your own udev rule to flexibly map
* the drives as you see fit. It is not advised that you use the
- * /dev/[hd]d devices which may be reorder due to probing order.
+ * /dev/[hd]d devices which may be reordered due to probing order.
* Devices in the wrong locations will be detected by the higher
* level vdev validation.
*/
if (v->vdev_wholedisk && v->vdev_expanding)
bdev = vdev_disk_rrpart(v->vdev_path, mode, vd);
if (IS_ERR(bdev))
- bdev = vdev_bdev_open(v->vdev_path, vdev_bdev_mode(mode), vd);
+ bdev = vdev_bdev_open(v->vdev_path,
+ vdev_bdev_mode(mode), zfs_vdev_holder);
if (IS_ERR(bdev)) {
kmem_free(vd, sizeof(vdev_disk_t));
return -PTR_ERR(bdev);
vdev_disk_dio_free(dr);
if (zio) {
- zio->io_delay = jiffies_to_msecs(
- jiffies_64 - zio->io_delay);
+ zio->io_delay = jiffies_64 - zio->io_delay;
zio->io_error = error;
ASSERT3S(zio->io_error, >=, 0);
if (zio->io_error)
{
zio_t *zio = bio->bi_private;
- zio->io_delay = jiffies_to_msecs(jiffies_64 - zio->io_delay);
+ zio->io_delay = jiffies_64 - zio->io_delay;
zio->io_error = -rc;
if (rc && (rc == -EOPNOTSUPP))
zio->io_vd->vdev_nowritecache = B_TRUE;
if (!q)
return ENXIO;
- bio = bio_alloc(GFP_KERNEL, 0);
+ bio = bio_alloc(GFP_NOIO, 0);
if (!bio)
return ENOMEM;
uint64_t s, size;
int i;
- bdev = vdev_bdev_open(devpath, vdev_bdev_mode(FREAD), NULL);
+ bdev = vdev_bdev_open(devpath, vdev_bdev_mode(FREAD), zfs_vdev_holder);
if (IS_ERR(bdev))
return -PTR_ERR(bdev);