Signed-off-by: Karel Zak <kzak@redhat.com>
/* private per-probing flags */
#define BLKID_PROBE_FL_IGNORE_PT (1 << 1) /* ignore partition table */
+#define BLKID_PROBE_FL_IGNORE_BACKUP (1 << 2) /* ignore backup superblocks or PT */
+
+extern int blkid_probe_ignore_backup(blkid_probe pr);
extern blkid_probe blkid_clone_probe(blkid_probe parent);
extern blkid_probe blkid_probe_get_wholedisk_probe(blkid_probe pr);
blkid_probe_start(pr);
+ pr->prob_flags |= BLKID_PROBE_FL_IGNORE_BACKUP;
+
for (i = 0; i < BLKID_NCHAINS; i++) {
struct blkid_chain *chn;
}
}
+int blkid_probe_ignore_backup(blkid_probe pr)
+{
+ return pr && (pr->prob_flags & BLKID_PROBE_FL_IGNORE_BACKUP);
+}
{
struct btrfs_super_block *bfs;
+ if (mag->kboff > 64 && blkid_probe_ignore_backup(pr))
+ return 1;
+
bfs = blkid_probe_get_sb(pr, mag, struct btrfs_super_block);
if (!bfs)
return -1;