| From b2c0fcd28772f99236d261509bcd242135677965 Mon Sep 17 00:00:00 2001 |
| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Fri, 29 Nov 2019 11:28:22 +0100 |
| Subject: compat_ioctl: block: handle Persistent Reservations |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| commit b2c0fcd28772f99236d261509bcd242135677965 upstream. |
| |
| These were added to blkdev_ioctl() in linux-5.5 but not |
| blkdev_compat_ioctl, so add them now. |
| |
| Cc: <stable@vger.kernel.org> # v4.4+ |
| Fixes: bbd3e064362e ("block: add an API for Persistent Reservations") |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| Fold in followup patch from Arnd with missing pr.h header include. |
| |
| Signed-off-by: Jens Axboe <axboe@kernel.dk> |
| |
| --- |
| block/compat_ioctl.c | 9 +++++++++ |
| 1 file changed, 9 insertions(+) |
| |
| --- a/block/compat_ioctl.c |
| +++ b/block/compat_ioctl.c |
| @@ -6,6 +6,7 @@ |
| #include <linux/compat.h> |
| #include <linux/elevator.h> |
| #include <linux/hdreg.h> |
| +#include <linux/pr.h> |
| #include <linux/slab.h> |
| #include <linux/syscalls.h> |
| #include <linux/types.h> |
| @@ -401,6 +402,14 @@ long compat_blkdev_ioctl(struct file *fi |
| case BLKTRACETEARDOWN: /* compatible */ |
| ret = blk_trace_ioctl(bdev, cmd, compat_ptr(arg)); |
| return ret; |
| + case IOC_PR_REGISTER: |
| + case IOC_PR_RESERVE: |
| + case IOC_PR_RELEASE: |
| + case IOC_PR_PREEMPT: |
| + case IOC_PR_PREEMPT_ABORT: |
| + case IOC_PR_CLEAR: |
| + return blkdev_ioctl(bdev, mode, cmd, |
| + (unsigned long)compat_ptr(arg)); |
| default: |
| if (disk->fops->compat_ioctl) |
| ret = disk->fops->compat_ioctl(bdev, mode, cmd, arg); |