diff options
author | Martin K. Petersen <martin.petersen@oracle.com> | 2012-01-11 19:29:31 +0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2012-01-11 19:29:31 +0400 |
commit | ef00f59c95fe6e002e7c6e3663cdea65e253f4cc (patch) | |
tree | 8e84273162b7a743767098cc08b6c6eb2b041281 /block | |
parent | b1bd055d397e09f99dcef9b138ed104ff1812fcb (diff) | |
download | linux-ef00f59c95fe6e002e7c6e3663cdea65e253f4cc.tar.xz |
block: Add BLKROTATIONAL ioctl
Introduce an ioctl which permits applications to query whether a block
device is rotational.
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r-- | block/compat_ioctl.c | 3 | ||||
-rw-r--r-- | block/ioctl.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/block/compat_ioctl.c b/block/compat_ioctl.c index 7b725020823c..7c668c8a6f95 100644 --- a/block/compat_ioctl.c +++ b/block/compat_ioctl.c @@ -719,6 +719,9 @@ long compat_blkdev_ioctl(struct file *file, unsigned cmd, unsigned long arg) case BLKSECTGET: return compat_put_ushort(arg, queue_max_sectors(bdev_get_queue(bdev))); + case BLKROTATIONAL: + return compat_put_ushort(arg, + !blk_queue_nonrot(bdev_get_queue(bdev))); case BLKRASET: /* compatible, but no compat_ptr (!) */ case BLKFRASET: if (!capable(CAP_SYS_ADMIN)) diff --git a/block/ioctl.c b/block/ioctl.c index ca939fc1030f..337d207ab14d 100644 --- a/block/ioctl.c +++ b/block/ioctl.c @@ -278,6 +278,8 @@ int blkdev_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd, return put_uint(arg, bdev_discard_zeroes_data(bdev)); case BLKSECTGET: return put_ushort(arg, queue_max_sectors(bdev_get_queue(bdev))); + case BLKROTATIONAL: + return put_ushort(arg, !blk_queue_nonrot(bdev_get_queue(bdev))); case BLKRASET: case BLKFRASET: if(!capable(CAP_SYS_ADMIN)) |