From: Karel Zak Date: Wed, 14 Oct 2009 23:22:42 +0000 (+0200) Subject: blockdev: add topology ioctls support X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d965d63f6414b27c04acee860cc5357887b2e788;p=util-linux blockdev: add topology ioctls support new options: --getpbsz get physical block (sector) size --getiomin get minimum I/O size --getioopt get optimal I/O size --getalignoff get alignment offset --getmaxsect get max sectors per request Signed-off-by: Karel Zak --- diff --git a/disk-utils/blockdev.c b/disk-utils/blockdev.c index b6c6415f..b0ae37d9 100644 --- a/disk-utils/blockdev.c +++ b/disk-utils/blockdev.c @@ -78,7 +78,37 @@ struct bdc bdcms[] = .name = "--getss", .argtype = ARG_INT, .argval = -1, - .help = N_("get sectorsize") + .help = N_("get logical block (sector) size") + },{ + IOCTL_ENTRY(BLKPBSZGET), + .name = "--getpbsz", + .argtype = ARG_UINT, + .argval = -1, + .help = N_("get physical block (sector) size") + },{ + IOCTL_ENTRY(BLKIOMIN), + .name = "--getiomin", + .argtype = ARG_UINT, + .argval = -1, + .help = N_("get minimum I/O size") + },{ + IOCTL_ENTRY(BLKIOOPT), + .name = "--getioopt", + .argtype = ARG_UINT, + .argval = -1, + .help = N_("get optimal I/O size") + },{ + IOCTL_ENTRY(BLKALIGNOFF), + .name = "--getalignoff", + .argtype = ARG_INT, + .argtype = -1, + .help = N_("get alignment offset") + },{ + IOCTL_ENTRY(BLKSECTGET), + .name = "--getmaxsect", + .argtype = ARG_USHRT, + .argval = -1, + .help = N_("get max sectors per request") },{ IOCTL_ENTRY(BLKBSZGET), .name = "--getbsz", diff --git a/include/blkdev.h b/include/blkdev.h index 9d9453bc..57ef40d4 100644 --- a/include/blkdev.h +++ b/include/blkdev.h @@ -34,6 +34,12 @@ #define BLKBSZSET _IOW(0x12,113,size_t) #define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size in bytes (u64 *arg) */ +/* block device topology ioctls, introduced in 2.6.32 */ +#define BLKIOMIN _IO(0x1,120) +#define BLKIOOPT _IO(0x12,121) +#define BLKALIGNOFF _IO(0x12,122) +#define BLKPBSZGET _IO(0x12,123) + #endif /* BLKROSET */ #ifndef HDIO_GETGEO