From: Davidlohr Bueso <dave@xxxxxxx> We should have the most basic of checks in this library to see whether or not a block device is being used. Signed-off-by: Davidlohr Bueso <dave@xxxxxxx> --- include/blkdev.h | 3 +++ lib/blkdev.c | 6 ++++++ 2 files changed, 9 insertions(+), 0 deletions(-) diff --git a/include/blkdev.h b/include/blkdev.h index 1a9119d..6b18879 100644 --- a/include/blkdev.h +++ b/include/blkdev.h @@ -86,6 +86,9 @@ struct hd_geometry { }; #endif +/* are we working with block device? */ +int is_blkdev(int fd); + /* Determine size in bytes */ off_t blkdev_find_size (int fd); diff --git a/lib/blkdev.c b/lib/blkdev.c index 9138b0d..c59386d 100644 --- a/lib/blkdev.c +++ b/lib/blkdev.c @@ -35,6 +35,12 @@ blkdev_valid_offset (int fd, off_t offset) { return 1; } +int is_blkdev(int fd) +{ + struct stat st; + return (fstat(fd, &st) == 0 && S_ISBLK(st.st_mode)); +} + off_t blkdev_find_size (int fd) { uintmax_t high, low = 0; -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html