@@ -260,7 +260,7 @@ static int blkdev_pr_register(struct block_device *bdev,
const struct pr_ops *ops = bdev->bd_disk->fops->pr_ops;
struct pr_registration reg;
- if (!capable(CAP_SYS_ADMIN))
+ if (!block_admin_capable())
return -EPERM;
if (!ops || !ops->pr_register)
return -EOPNOTSUPP;
@@ -278,7 +278,7 @@ static int blkdev_pr_reserve(struct block_device *bdev,
const struct pr_ops *ops = bdev->bd_disk->fops->pr_ops;
struct pr_reservation rsv;
- if (!capable(CAP_SYS_ADMIN))
+ if (!block_admin_capable())
return -EPERM;
if (!ops || !ops->pr_reserve)
return -EOPNOTSUPP;
@@ -296,7 +296,7 @@ static int blkdev_pr_release(struct block_device *bdev,
const struct pr_ops *ops = bdev->bd_disk->fops->pr_ops;
struct pr_reservation rsv;
- if (!capable(CAP_SYS_ADMIN))
+ if (!block_admin_capable())
return -EPERM;
if (!ops || !ops->pr_release)
return -EOPNOTSUPP;
@@ -314,7 +314,7 @@ static int blkdev_pr_preempt(struct block_device *bdev,
const struct pr_ops *ops = bdev->bd_disk->fops->pr_ops;
struct pr_preempt p;
- if (!capable(CAP_SYS_ADMIN))
+ if (!block_admin_capable())
return -EPERM;
if (!ops || !ops->pr_preempt)
return -EOPNOTSUPP;
@@ -332,7 +332,7 @@ static int blkdev_pr_clear(struct block_device *bdev,
const struct pr_ops *ops = bdev->bd_disk->fops->pr_ops;
struct pr_clear c;
- if (!capable(CAP_SYS_ADMIN))
+ if (!block_admin_capable())
return -EPERM;
if (!ops || !ops->pr_clear)
return -EOPNOTSUPP;
Use the newly introduced capability CAP_BLOCK_ADMIN for Persistent Reservations. Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> --- block/ioctl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)