block: add IOC_PR_READ_KEYS ioctl
authorStefan Hajnoczi <stefanha@redhat.com>
Mon, 1 Dec 2025 21:43:28 +0000 (16:43 -0500)
committerJens Axboe <axboe@kernel.dk>
Thu, 4 Dec 2025 14:19:26 +0000 (07:19 -0700)
commit22a1ffea5f805dfa21b64d1c7b5fe39c0c78c997
treea01b01e3796c89191f571cebd0181c9473838806
parent38ec8469f39e0e96e7dd9b76f05e0f8eb78be681
block: add IOC_PR_READ_KEYS ioctl

Add a Persistent Reservations ioctl to read the list of currently
registered reservation keys. This calls the pr_ops->read_keys() function
that was previously added in commit c787f1baa503 ("block: Add PR
callouts for read keys and reservation") but was only used by the
in-kernel SCSI target so far.

The IOC_PR_READ_KEYS ioctl is necessary so that userspace applications
that rely on Persistent Reservations ioctls have a way of inspecting the
current state. Cluster managers and validation tests need this
functionality.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/ioctl.c
include/uapi/linux/pr.h