From: Jose R. Santos <jrs@xxxxxxxxxx> Add 64-bit getsize interface. Added interface capable of opening 64-bit block device. Signed-off-by: Jose R. Santos <jrs@xxxxxxxxxx> -- lib/ext2fs/ext2fs.h | 2 ++ lib/ext2fs/getsize.c | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/ext2fs/ext2fs.h b/lib/ext2fs/ext2fs.h index 3bc866e..6881c8a 100644 --- a/lib/ext2fs/ext2fs.h +++ b/lib/ext2fs/ext2fs.h @@ -979,6 +979,8 @@ extern errcode_t ext2fs_set_generic_bitmap_range(ext2fs_generic_bitmap bmap, /* getsize.c */ extern errcode_t ext2fs_get_device_size(const char *file, int blocksize, blk_t *retblocks); +extern errcode_t ext2fs_get_device_size2(const char *file, int blocksize, + blk64_t *retblocks); /* getsectsize.c */ errcode_t ext2fs_get_device_sectsize(const char *file, int *sectsize); diff --git a/lib/ext2fs/getsize.c b/lib/ext2fs/getsize.c index 7f6ef71..48b9eaf 100644 --- a/lib/ext2fs/getsize.c +++ b/lib/ext2fs/getsize.c @@ -138,8 +138,8 @@ static int valid_offset (int fd, ext2_loff_t offset) /* * Returns the number of blocks in a partition */ -errcode_t ext2fs_get_device_size(const char *file, int blocksize, - blk_t *retblocks) +errcode_t ext2fs_get_device_size2(const char *file, int blocksize, + blk64_t *retblocks) { int fd, rc = 0; int valid_blkgetsize64 = 1; @@ -293,6 +293,17 @@ out: return rc; } +errcode_t ext2fs_get_device_size(const char *file, int blocksize, + blk_t *retblocks) +{ + errcode_t retval; + blk64_t blocks; + retval = ext2fs_get_device_size2(file, blocksize, &blocks); + if (!retval) + *retblocks = (blk_t) blocks; + return retval; +} + #endif /* WIN32 */ #ifdef DEBUG -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html