chiark / gitweb /
libvolume_id: add parameter 'size' to all probe functions
authorKay Sievers <kay.sievers@suse.de>
Tue, 25 Jul 2006 12:59:50 +0000 (14:59 +0200)
committerKay Sievers <kay.sievers@suse.de>
Tue, 25 Jul 2006 12:59:50 +0000 (14:59 +0200)
28 files changed:
extras/volume_id/lib/Makefile
extras/volume_id/lib/cramfs.c
extras/volume_id/lib/ext.c
extras/volume_id/lib/fat.c
extras/volume_id/lib/gfs.c
extras/volume_id/lib/hfs.c
extras/volume_id/lib/highpoint.c
extras/volume_id/lib/hpfs.c
extras/volume_id/lib/iso9660.c
extras/volume_id/lib/jfs.c
extras/volume_id/lib/libvolume_id.h
extras/volume_id/lib/linux_swap.c
extras/volume_id/lib/luks.c
extras/volume_id/lib/lvm.c
extras/volume_id/lib/minix.c
extras/volume_id/lib/netware.c
extras/volume_id/lib/ntfs.c
extras/volume_id/lib/ocfs.c
extras/volume_id/lib/reiserfs.c
extras/volume_id/lib/romfs.c
extras/volume_id/lib/squashfs.c
extras/volume_id/lib/sysv.c
extras/volume_id/lib/udf.c
extras/volume_id/lib/ufs.c
extras/volume_id/lib/volume_id.c
extras/volume_id/lib/vxfs.c
extras/volume_id/lib/xfs.c
extras/volume_id/vol_id.c

index 66b3b92f9d19c554385b56aecae97036a85bcf19..f53e5f11416419d72afe426594559ca92551473c 100644 (file)
@@ -13,7 +13,7 @@ INSTALL_DATA  = ${INSTALL} -m 644
 INSTALL_LIB = ${INSTALL} -m 755
 
 SHLIB_CUR = 0
 INSTALL_LIB = ${INSTALL} -m 755
 
 SHLIB_CUR = 0
-SHLIB_REV = 67
+SHLIB_REV = 68
 SHLIB_AGE = 0
 SHLIB = libvolume_id.so.$(SHLIB_CUR).$(SHLIB_REV).$(SHLIB_AGE)
 
 SHLIB_AGE = 0
 SHLIB = libvolume_id.so.$(SHLIB_CUR).$(SHLIB_REV).$(SHLIB_AGE)
 
index 100ebdec22fd06b5f78bbe117cdcc67bfbd66d18..bf329506e1c29861b4c34289f78f6925008eb8e3 100644 (file)
@@ -41,7 +41,7 @@ struct cramfs_super {
        uint8_t         name[16];
 } PACKED;
 
        uint8_t         name[16];
 } PACKED;
 
-int volume_id_probe_cramfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_cramfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct cramfs_super *cs;
 
 {
        struct cramfs_super *cs;
 
index 7d41a3287e0e2935c04f938efbb66ade78fb9ce6..8fc7a747dc2296009687c1a57498d58eb240dbf1 100644 (file)
@@ -70,7 +70,7 @@ struct ext2_super_block {
 #define EXT3_MIN_BLOCK_SIZE                    0x400
 #define EXT3_MAX_BLOCK_SIZE                    0x1000
 
 #define EXT3_MIN_BLOCK_SIZE                    0x400
 #define EXT3_MAX_BLOCK_SIZE                    0x1000
 
-int volume_id_probe_ext(struct volume_id *id, uint64_t off)
+int volume_id_probe_ext(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct ext2_super_block *es;
        size_t bsize;
 {
        struct ext2_super_block *es;
        size_t bsize;
index 61a94504381275845d6e399fa945238aadb37ad7..92f316a27549dc09632b490097b26cdd32dc3148 100644 (file)
@@ -133,7 +133,7 @@ static uint8_t *get_attr_volume_id(struct vfat_dir_entry *dir, unsigned int coun
        return NULL;
 }
 
        return NULL;
 }
 
-int volume_id_probe_vfat(struct volume_id *id, uint64_t off)
+int volume_id_probe_vfat(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct vfat_super_block *vs;
        struct vfat_dir_entry *dir;
 {
        struct vfat_super_block *vs;
        struct vfat_dir_entry *dir;
index 40a4493b32710bd6fb55c6ff1ea57966d18fcccb..1d3a4a0f1e8d6489c6f5345c8432ca5cb9eaf8ee 100644 (file)
@@ -109,12 +109,12 @@ static int volume_id_probe_gfs_generic(struct volume_id *id, uint64_t off, int v
        return -1;
 }
 
        return -1;
 }
 
-int volume_id_probe_gfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_gfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        return volume_id_probe_gfs_generic(id, off, 1);
 }
 
 {
        return volume_id_probe_gfs_generic(id, off, 1);
 }
 
-int volume_id_probe_gfs2(struct volume_id *id, uint64_t off)
+int volume_id_probe_gfs2(struct volume_id *id, uint64_t off, uint64_t size)
 {
        return volume_id_probe_gfs_generic(id, off, 2);
 }
 {
        return volume_id_probe_gfs_generic(id, off, 2);
 }
index 4e34d66ba424021ecb11d2c68663522402c4df2f..03b2aa0819740d76e849e3d8e987c2c7a5e87ad3 100644 (file)
@@ -137,7 +137,7 @@ static struct hfsplus_vol_header {
 #define HFS_NODE_LEAF                  0xff
 #define HFSPLUS_POR_CNID               1
 
 #define HFS_NODE_LEAF                  0xff
 #define HFSPLUS_POR_CNID               1
 
-int volume_id_probe_hfs_hfsplus(struct volume_id *id, uint64_t off)
+int volume_id_probe_hfs_hfsplus(struct volume_id *id, uint64_t off, uint64_t size)
 {
        unsigned int blocksize;
        unsigned int cat_block;
 {
        unsigned int blocksize;
        unsigned int cat_block;
index e441edb776fd3e7381da38d38c376295ced02969..f2c4069cc613a0bbd683857f09eadf07b1cb2631 100644 (file)
@@ -43,7 +43,7 @@ struct hpt45x_meta {
 #define HPT45X_MAGIC_BAD               0x5a7816fd
 
 
 #define HPT45X_MAGIC_BAD               0x5a7816fd
 
 
-int volume_id_probe_highpoint_37x_raid(struct volume_id *id, uint64_t off)
+int volume_id_probe_highpoint_37x_raid(struct volume_id *id, uint64_t off, uint64_t size)
 {
        const uint8_t *buf;
        struct hpt37x_meta *hpt;
 {
        const uint8_t *buf;
        struct hpt37x_meta *hpt;
index 6fec9caf8dcf91bbc3bea2d627d1c9d4a6d28737..edcf0666ae7440e5280f60d9f4a077842786a279 100644 (file)
@@ -34,7 +34,7 @@ struct hpfs_super
 
 #define HPFS_SUPERBLOCK_OFFSET                 0x2000
 
 
 #define HPFS_SUPERBLOCK_OFFSET                 0x2000
 
-int volume_id_probe_hpfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_hpfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct hpfs_super *hs;
 
 {
        struct hpfs_super *hs;
 
index be64a8b8af4e75d6d20f412cfee6b53228092504..f8f5aa18ea1c55c1e9204fbca773280951905cac 100644 (file)
@@ -53,7 +53,7 @@ struct high_sierra_volume_descriptor {
        uint8_t         version;
 } PACKED;
 
        uint8_t         version;
 } PACKED;
 
-int volume_id_probe_iso9660(struct volume_id *id, uint64_t off)
+int volume_id_probe_iso9660(struct volume_id *id, uint64_t off, uint64_t size)
 {
        uint8_t *buf;
        struct iso_volume_descriptor *is;
 {
        uint8_t *buf;
        struct iso_volume_descriptor *is;
index 80360915a4dde2809add2903d0061d714349c84e..6d4124cd05ea4657dc57ee221e1bd173b271301a 100644 (file)
@@ -41,7 +41,7 @@ struct jfs_super_block {
 
 #define JFS_SUPERBLOCK_OFFSET                  0x8000
 
 
 #define JFS_SUPERBLOCK_OFFSET                  0x8000
 
-int volume_id_probe_jfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_jfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct jfs_super_block *js;
 
 {
        struct jfs_super_block *js;
 
index e34f4679e7503b30cb29cb8f2d7abb2e4dbf948e..98423f08ccd6bfc0a271dd857c2141de0c40777e 100644 (file)
@@ -69,41 +69,41 @@ extern int volume_id_probe_raid(struct volume_id *id, uint64_t off, uint64_t siz
 extern void volume_id_close(struct volume_id *id);
 
 /* filesystems */
 extern void volume_id_close(struct volume_id *id);
 
 /* filesystems */
-extern int volume_id_probe_cramfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_ext(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_vfat(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_hfs_hfsplus(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_hpfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_iso9660(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_jfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_minix(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_ntfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_ocfs1(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_ocfs2(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_reiserfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_romfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_sysv(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_udf(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_ufs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_vxfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_xfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_squashfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_netware(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_gfs(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_gfs2(struct volume_id *id, uint64_t off);
+extern int volume_id_probe_cramfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_ext(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_vfat(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_hfs_hfsplus(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_hpfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_iso9660(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_jfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_minix(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_ntfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_ocfs1(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_ocfs2(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_reiserfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_romfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_sysv(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_udf(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_ufs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_vxfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_xfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_squashfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_netware(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_gfs(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_gfs2(struct volume_id *id, uint64_t off, uint64_t size);
 
 /* special formats */
 
 /* special formats */
-extern int volume_id_probe_linux_swap(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_luks(struct volume_id *id, uint64_t off);
+extern int volume_id_probe_linux_swap(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_luks(struct volume_id *id, uint64_t off, uint64_t size);
 
 /* raid */
 extern int volume_id_probe_linux_raid(struct volume_id *id, uint64_t off, uint64_t size);
 
 /* raid */
 extern int volume_id_probe_linux_raid(struct volume_id *id, uint64_t off, uint64_t size);
-extern int volume_id_probe_lvm1(struct volume_id *id, uint64_t off);
-extern int volume_id_probe_lvm2(struct volume_id *id, uint64_t off);
+extern int volume_id_probe_lvm1(struct volume_id *id, uint64_t off, uint64_t size);
+extern int volume_id_probe_lvm2(struct volume_id *id, uint64_t off, uint64_t size);
 
 /* bios raid */
 extern int volume_id_probe_intel_software_raid(struct volume_id *id, uint64_t off, uint64_t size);
 
 /* bios raid */
 extern int volume_id_probe_intel_software_raid(struct volume_id *id, uint64_t off, uint64_t size);
-extern int volume_id_probe_highpoint_37x_raid(struct volume_id *id, uint64_t off);
+extern int volume_id_probe_highpoint_37x_raid(struct volume_id *id, uint64_t off, uint64_t size);
 extern int volume_id_probe_highpoint_45x_raid(struct volume_id *id, uint64_t off, uint64_t size);
 extern int volume_id_probe_lsi_mega_raid(struct volume_id *id, uint64_t off, uint64_t size);
 extern int volume_id_probe_nvidia_raid(struct volume_id *id, uint64_t off, uint64_t size);
 extern int volume_id_probe_highpoint_45x_raid(struct volume_id *id, uint64_t off, uint64_t size);
 extern int volume_id_probe_lsi_mega_raid(struct volume_id *id, uint64_t off, uint64_t size);
 extern int volume_id_probe_nvidia_raid(struct volume_id *id, uint64_t off, uint64_t size);
index 3937f8ea467241bd59ea547fd2865fb2cb991c53..21cb2bce8c1ea30b824a9c466974c47fb8c5ac4a 100644 (file)
@@ -37,7 +37,7 @@ static struct swap_header_v1_2 {
 
 #define LARGEST_PAGESIZE                       0x4000
 
 
 #define LARGEST_PAGESIZE                       0x4000
 
-int volume_id_probe_linux_swap(struct volume_id *id, uint64_t off)
+int volume_id_probe_linux_swap(struct volume_id *id, uint64_t off, uint64_t size)
 {
        const uint8_t *buf;
        unsigned int page;
 {
        const uint8_t *buf;
        unsigned int page;
index f3ec20eade39d0bbe9595a1c7cf3ae7ec36ce75a..a141a0f5c39d8ad31cb04b31f90399d8cfa9472e 100644 (file)
@@ -62,7 +62,7 @@ struct luks_phdr {
        } keyblock[LUKS_NUMKEYS];
 };
 
        } keyblock[LUKS_NUMKEYS];
 };
 
-int volume_id_probe_luks(struct volume_id *id, uint64_t off)
+int volume_id_probe_luks(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct luks_phdr *header;
 
 {
        struct luks_phdr *header;
 
index 727204280b3fd67edeb9ce0c784362e039a090bf..9c83c553078e7cdef830948ccbc338e3cf1f24d7 100644 (file)
@@ -41,7 +41,7 @@ struct lvm2_super_block {
 #define LVM1_SB_OFF                    0x400
 #define LVM1_MAGIC                     "HM"
 
 #define LVM1_SB_OFF                    0x400
 #define LVM1_MAGIC                     "HM"
 
-int volume_id_probe_lvm1(struct volume_id *id, uint64_t off)
+int volume_id_probe_lvm1(struct volume_id *id, uint64_t off, uint64_t size)
 {
        const uint8_t *buf;
        struct lvm1_super_block *lvm;
 {
        const uint8_t *buf;
        struct lvm1_super_block *lvm;
@@ -66,7 +66,7 @@ int volume_id_probe_lvm1(struct volume_id *id, uint64_t off)
 #define LVM2_LABEL_ID                  "LABELONE"
 #define LVM2LABEL_SCAN_SECTORS         4
 
 #define LVM2_LABEL_ID                  "LABELONE"
 #define LVM2LABEL_SCAN_SECTORS         4
 
-int volume_id_probe_lvm2(struct volume_id *id, uint64_t off)
+int volume_id_probe_lvm2(struct volume_id *id, uint64_t off, uint64_t size)
 {
        const uint8_t *buf;
        unsigned int soff;
 {
        const uint8_t *buf;
        unsigned int soff;
index c5e16e783b39fd3ebccca09027aa58fcb19dc8c0..dffc52a4d85db7a90e462ef6ad8807564866bbfe 100644 (file)
@@ -42,7 +42,7 @@ struct minix_super_block
 
 #define MINIX_SUPERBLOCK_OFFSET                        0x400
 
 
 #define MINIX_SUPERBLOCK_OFFSET                        0x400
 
-int volume_id_probe_minix(struct volume_id *id, uint64_t off)
+int volume_id_probe_minix(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct minix_super_block *ms;
 
 {
        struct minix_super_block *ms;
 
index 6e1e95f86cf3304fdd591c33fc6a7d195905840e..67af56133102cd0935ec8b2630c7e5870a11fec5 100644 (file)
@@ -78,7 +78,7 @@ struct netware_super_block {
        uint32_t        reserved2[64-(2+46)];
 } PACKED;
 
        uint32_t        reserved2[64-(2+46)];
 } PACKED;
 
-int volume_id_probe_netware(struct volume_id *id, uint64_t off)
+int volume_id_probe_netware(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct netware_super_block *nw;
 
 {
        struct netware_super_block *nw;
 
index 5f2a5b93a262e095709259819d27453f1f0d55c3..f7675a3434396b267232604935e0aba65a44ba8a 100644 (file)
@@ -90,7 +90,7 @@ static struct volume_info {
 #define MFT_RECORD_ATTR_OBJECT_ID              0x40
 #define MFT_RECORD_ATTR_END                    0xffffffffu
 
 #define MFT_RECORD_ATTR_OBJECT_ID              0x40
 #define MFT_RECORD_ATTR_END                    0xffffffffu
 
-int volume_id_probe_ntfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_ntfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        unsigned int sector_size;
        unsigned int cluster_size;
 {
        unsigned int sector_size;
        unsigned int cluster_size;
index bf311415dddc4431155a691001a8e00c2998f2cf..349527b7e0638ca604b3cc56659f82ab1d704471 100644 (file)
@@ -126,7 +126,7 @@ struct ocfs2_super_block {
        uint8_t         s_uuid[16];
 } PACKED;
 
        uint8_t         s_uuid[16];
 } PACKED;
 
-int volume_id_probe_ocfs1(struct volume_id *id, uint64_t off)
+int volume_id_probe_ocfs1(struct volume_id *id, uint64_t off, uint64_t size)
 {
        const uint8_t *buf;
        struct ocfs1_super_block_header *osh;
 {
        const uint8_t *buf;
        struct ocfs1_super_block_header *osh;
@@ -164,7 +164,7 @@ int volume_id_probe_ocfs1(struct volume_id *id, uint64_t off)
 #define OCFS2_MAX_BLOCKSIZE            0x1000
 #define OCFS2_SUPER_BLOCK_BLKNO                2
 
 #define OCFS2_MAX_BLOCKSIZE            0x1000
 #define OCFS2_SUPER_BLOCK_BLKNO                2
 
-int volume_id_probe_ocfs2(struct volume_id *id, uint64_t off)
+int volume_id_probe_ocfs2(struct volume_id *id, uint64_t off, uint64_t size)
 {
        const uint8_t *buf;
        struct ocfs2_super_block *os;
 {
        const uint8_t *buf;
        struct ocfs2_super_block *os;
index 770f726825447aa5fb1a61b162fb56f662f42ffe..1f219e5bded05eb698182658aa075ac91f2e98c7 100644 (file)
@@ -54,7 +54,7 @@ struct reiser4_super_block {
 #define REISERFS1_SUPERBLOCK_OFFSET            0x2000
 #define REISERFS_SUPERBLOCK_OFFSET             0x10000
 
 #define REISERFS1_SUPERBLOCK_OFFSET            0x2000
 #define REISERFS_SUPERBLOCK_OFFSET             0x10000
 
-int volume_id_probe_reiserfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_reiserfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct reiserfs_super_block *rs;
        struct reiser4_super_block *rs4;
 {
        struct reiserfs_super_block *rs;
        struct reiser4_super_block *rs4;
index a88781e36ecb8b8217974a24b0a1ad3827027efe..2db36d61a5de0cc11cab437819dee117dc7ff944 100644 (file)
@@ -33,7 +33,7 @@ struct romfs_super {
        uint8_t name[0];
 } PACKED;
 
        uint8_t name[0];
 } PACKED;
 
-int volume_id_probe_romfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_romfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct romfs_super *rfs;
 
 {
        struct romfs_super *rfs;
 
index fdba64edbce025b76c9e577794e9c2bcbe63335a..99cc78aa415b6453e01e5c87f387bdd8719d2b58 100644 (file)
@@ -32,7 +32,7 @@ struct squashfs_super {
        uint32_t                s_magic;
 } PACKED;
 
        uint32_t                s_magic;
 } PACKED;
 
-int volume_id_probe_squashfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_squashfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct squashfs_super *sqs;
 
 {
        struct squashfs_super *sqs;
 
index 6e0ed046f0b357b6f323c3d6683a4a219e79554a..e48013c2bdfd3ee70d16ca870e284fa82e788706 100644 (file)
@@ -89,7 +89,7 @@ struct xenix_super {
 #define XENIX_MAGIC                            0x2b5544
 #define SYSV_MAX_BLOCKSIZE                     0x800
 
 #define XENIX_MAGIC                            0x2b5544
 #define SYSV_MAX_BLOCKSIZE                     0x800
 
-int volume_id_probe_sysv(struct volume_id *id, uint64_t off)
+int volume_id_probe_sysv(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct sysv_super *vs;
        struct xenix_super *xs;
 {
        struct sysv_super *vs;
        struct xenix_super *xs;
index d71e9d6f5d07fe15ef09396bb75208692321c8f5..ac2f40a9e88429b0f9af567c2a7958da49280916 100644 (file)
@@ -61,7 +61,7 @@ struct volume_structure_descriptor {
 
 #define UDF_VSD_OFFSET                 0x8000
 
 
 #define UDF_VSD_OFFSET                 0x8000
 
-int volume_id_probe_udf(struct volume_id *id, uint64_t off)
+int volume_id_probe_udf(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct volume_descriptor *vd;
        struct volume_structure_descriptor *vsd;
 {
        struct volume_descriptor *vd;
        struct volume_structure_descriptor *vsd;
index 8255b6e7912d5b4b2932235dfff311e2361aa3d6..2713a63d4d3a832f886eb3a02167e0833e02ea5d 100644 (file)
@@ -168,7 +168,7 @@ struct ufs_super_block {
 #define UFS_MAGIC_FEA                  0x00195612
 #define UFS_MAGIC_LFN                  0x00095014
 
 #define UFS_MAGIC_FEA                  0x00195612
 #define UFS_MAGIC_LFN                  0x00095014
 
-int volume_id_probe_ufs(struct volume_id *id, uint64_t off)
+int volume_id_probe_ufs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        uint32_t magic;
        int i;
 {
        uint32_t magic;
        int i;
index f74319fb9696aca13e256cffe6c9e423822b4b20..c6c8d5af6d837810777e31a4df38ae82170ca8da 100644 (file)
@@ -77,13 +77,13 @@ int volume_id_probe_raid(struct volume_id *id, uint64_t off, uint64_t size)
                        goto found;
        }
 
                        goto found;
        }
 
-       if (volume_id_probe_lvm1(id, off) == 0)
+       if (volume_id_probe_lvm1(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_lvm2(id, off) == 0)
+       if (volume_id_probe_lvm2(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_highpoint_37x_raid(id, off) == 0)
+       if (volume_id_probe_highpoint_37x_raid(id, off, size) == 0)
                goto found;
 
        return -1;
                goto found;
 
        return -1;
@@ -102,79 +102,79 @@ int volume_id_probe_filesystem(struct volume_id *id, uint64_t off, uint64_t size
        info("probing at offset 0x%llx, size 0x%llx",
            (unsigned long long) off, (unsigned long long) size);
 
        info("probing at offset 0x%llx, size 0x%llx",
            (unsigned long long) off, (unsigned long long) size);
 
-       if (volume_id_probe_vfat(id, off) == 0)
+       if (volume_id_probe_vfat(id, off, size) == 0)
                goto found;
 
        /* fill buffer with maximum */
        volume_id_get_buffer(id, 0, SB_BUFFER_SIZE);
 
                goto found;
 
        /* fill buffer with maximum */
        volume_id_get_buffer(id, 0, SB_BUFFER_SIZE);
 
-       if (volume_id_probe_linux_swap(id, off) == 0)
+       if (volume_id_probe_linux_swap(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_luks(id, off) == 0)
+       if (volume_id_probe_luks(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_xfs(id, off) == 0)
+       if (volume_id_probe_xfs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_ext(id, off) == 0)
+       if (volume_id_probe_ext(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_reiserfs(id, off) == 0)
+       if (volume_id_probe_reiserfs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_jfs(id, off) == 0)
+       if (volume_id_probe_jfs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_udf(id, off) == 0)
+       if (volume_id_probe_udf(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_iso9660(id, off) == 0)
+       if (volume_id_probe_iso9660(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_hfs_hfsplus(id, off) == 0)
+       if (volume_id_probe_hfs_hfsplus(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_ufs(id, off) == 0)
+       if (volume_id_probe_ufs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_ntfs(id, off)  == 0)
+       if (volume_id_probe_ntfs(id, off, size)  == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_cramfs(id, off) == 0)
+       if (volume_id_probe_cramfs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_romfs(id, off) == 0)
+       if (volume_id_probe_romfs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_hpfs(id, off) == 0)
+       if (volume_id_probe_hpfs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_sysv(id, off) == 0)
+       if (volume_id_probe_sysv(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_minix(id, off) == 0)
+       if (volume_id_probe_minix(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_ocfs1(id, off) == 0)
+       if (volume_id_probe_ocfs1(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_ocfs2(id, off) == 0)
+       if (volume_id_probe_ocfs2(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_vxfs(id, off) == 0)
+       if (volume_id_probe_vxfs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_squashfs(id, off) == 0)
+       if (volume_id_probe_squashfs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_netware(id, off) == 0)
+       if (volume_id_probe_netware(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_gfs(id, off) == 0)
+       if (volume_id_probe_gfs(id, off, size) == 0)
                goto found;
 
                goto found;
 
-       if (volume_id_probe_gfs2(id, off) == 0)
+       if (volume_id_probe_gfs2(id, off, size) == 0)
                goto found;
 
        return -1;
                goto found;
 
        return -1;
index 112666192cf1f54d914c7d6fc3a61d000502add1..c9b76285e818f930bb93fa51a1270a118600fe29 100644 (file)
@@ -33,7 +33,7 @@ struct vxfs_super {
        int32_t                 vs_version;
 } PACKED;
 
        int32_t                 vs_version;
 } PACKED;
 
-int volume_id_probe_vxfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_vxfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct vxfs_super *vxs;
 
 {
        struct vxfs_super *vxs;
 
index 9228fe4c887c86e035b8f811db6266462ed173fe..5c1a82e1d37afe6c515ca88dfb2c01267dc79d51 100644 (file)
@@ -41,7 +41,7 @@ struct xfs_super_block {
        uint64_t        fdblocks;
 } PACKED;
 
        uint64_t        fdblocks;
 } PACKED;
 
-int volume_id_probe_xfs(struct volume_id *id, uint64_t off)
+int volume_id_probe_xfs(struct volume_id *id, uint64_t off, uint64_t size)
 {
        struct xfs_super_block *xs;
 
 {
        struct xfs_super_block *xs;
 
index d516eb5cbdf7861337c6b4d2d9f371d51160f048..96ccaf3637511c92db7b86bbffe61b44e5c66300 100644 (file)
@@ -213,53 +213,53 @@ int main(int argc, char *argv[])
                        printf("%s\n", vid->type);
                if (volume_id_probe_jmicron_raid(vid, 0, size) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
                if (volume_id_probe_jmicron_raid(vid, 0, size) == 0)
                        printf("%s\n", vid->type);
-               if (volume_id_probe_vfat(vid, 0) == 0)
+               if (volume_id_probe_vfat(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_linux_swap(vid, 0) == 0)
+               if (volume_id_probe_linux_swap(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_luks(vid, 0) == 0)
+               if (volume_id_probe_luks(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_xfs(vid, 0) == 0)
+               if (volume_id_probe_xfs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_ext(vid, 0) == 0)
+               if (volume_id_probe_ext(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_reiserfs(vid, 0) == 0)
+               if (volume_id_probe_reiserfs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_jfs(vid, 0) == 0)
+               if (volume_id_probe_jfs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_udf(vid, 0) == 0)
+               if (volume_id_probe_udf(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_iso9660(vid, 0) == 0)
+               if (volume_id_probe_iso9660(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_hfs_hfsplus(vid, 0) == 0)
+               if (volume_id_probe_hfs_hfsplus(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_ufs(vid, 0) == 0)
+               if (volume_id_probe_ufs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_ntfs(vid, 0)  == 0)
+               if (volume_id_probe_ntfs(vid, 0, 0)  == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_cramfs(vid, 0) == 0)
+               if (volume_id_probe_cramfs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_romfs(vid, 0) == 0)
+               if (volume_id_probe_romfs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_hpfs(vid, 0) == 0)
+               if (volume_id_probe_hpfs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_sysv(vid, 0) == 0)
+               if (volume_id_probe_sysv(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_minix(vid, 0) == 0)
+               if (volume_id_probe_minix(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_ocfs1(vid, 0) == 0)
+               if (volume_id_probe_ocfs1(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_ocfs2(vid, 0) == 0)
+               if (volume_id_probe_ocfs2(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_vxfs(vid, 0) == 0)
+               if (volume_id_probe_vxfs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_squashfs(vid, 0) == 0)
+               if (volume_id_probe_squashfs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_netware(vid, 0) == 0)
+               if (volume_id_probe_netware(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_gfs(vid, 0) == 0)
+               if (volume_id_probe_gfs(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
                        printf("%s\n", vid->type);
-               if (volume_id_probe_gfs2(vid, 0) == 0)
+               if (volume_id_probe_gfs2(vid, 0, 0) == 0)
                        printf("%s\n", vid->type);
 
                goto exit;
                        printf("%s\n", vid->type);
 
                goto exit;