diff options
author | Christoph Hellwig <hch@lst.de> | 2015-10-15 14:10:48 +0200 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-10-21 14:46:56 -0600 |
commit | bbd3e064362e5057cc4799ba2e4d68c7593e490b (patch) | |
tree | 94c1efd47cf05eaf940e3381bb4eb9df421ae001 /include/linux/blkdev.h | |
parent | d8e4bb8103df02a2c509868732dc93fb66110a12 (diff) | |
download | talos-obmc-linux-bbd3e064362e5057cc4799ba2e4d68c7593e490b.tar.gz talos-obmc-linux-bbd3e064362e5057cc4799ba2e4d68c7593e490b.zip |
block: add an API for Persistent Reservations
This commits adds a driver API and ioctls for controlling Persistent
Reservations s/genericly/generically/ at the block layer. Persistent
Reservations are supported by SCSI and NVMe and allow controlling who gets
access to a device in a shared storage setup.
Note that we add a pr_ops structure to struct block_device_operations
instead of adding the members directly to avoid bloating all instances
of devices that will never support Persistent Reservations.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r-- | include/linux/blkdev.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 19c2e947d4d1..fe25da05e823 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -35,6 +35,7 @@ struct sg_io_hdr; struct bsg_job; struct blkcg_gq; struct blk_flush_queue; +struct pr_ops; #define BLKDEV_MIN_RQ 4 #define BLKDEV_MAX_RQ 128 /* Default maximum */ @@ -1633,6 +1634,7 @@ struct block_device_operations { /* this callback is with swap_lock and sometimes page table lock held */ void (*swap_slot_free_notify) (struct block_device *, unsigned long); struct module *owner; + const struct pr_ops *pr_ops; }; extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int, |