dcavalca / rpms / util-linux

Forked from rpms/util-linux 2 years ago
Clone

Blame SOURCES/2.25-libblkid-no-more-probe-for-btrfs-backup-superblock.patch

0b5e55
diff -up util-linux-2.23.2/libblkid/src/blkidP.h.kzak util-linux-2.23.2/libblkid/src/blkidP.h
0b5e55
--- util-linux-2.23.2/libblkid/src/blkidP.h.kzak	2013-07-30 10:39:26.205738229 +0200
0b5e55
+++ util-linux-2.23.2/libblkid/src/blkidP.h	2014-01-23 10:51:10.109593273 +0100
0b5e55
@@ -224,9 +224,6 @@ struct blkid_struct_probe
0b5e55
 
0b5e55
 /* private per-probing flags */
0b5e55
 #define BLKID_PROBE_FL_IGNORE_PT (1 << 1)	/* ignore partition table */
0b5e55
-#define BLKID_PROBE_FL_IGNORE_BACKUP (1 << 2)	/* ignore backup superblocks or PT */
0b5e55
-
0b5e55
-extern int blkid_probe_ignore_backup(blkid_probe pr);
0b5e55
 
0b5e55
 extern blkid_probe blkid_clone_probe(blkid_probe parent);
0b5e55
 extern blkid_probe blkid_probe_get_wholedisk_probe(blkid_probe pr);
0b5e55
diff -up util-linux-2.23.2/libblkid/src/probe.c.kzak util-linux-2.23.2/libblkid/src/probe.c
0b5e55
--- util-linux-2.23.2/libblkid/src/probe.c.kzak	2013-07-30 10:39:26.208738259 +0200
0b5e55
+++ util-linux-2.23.2/libblkid/src/probe.c	2014-01-23 10:51:10.109593273 +0100
0b5e55
@@ -924,7 +924,8 @@ int blkid_do_probe(blkid_probe pr)
0b5e55
  *
0b5e55
  * This function erases the current signature detected by @pr. The @pr has to
0b5e55
  * be open in O_RDWR mode, BLKID_SUBLKS_MAGIC or/and BLKID_PARTS_MAGIC flags
0b5e55
- * has to be enabled.
0b5e55
+ * has to be enabled (if you want to errase also superblock with broken check
0b5e55
+ * sums then use BLKID_SUBLKS_BADCSUM too).
0b5e55
  *
0b5e55
  * After successful signature removing the @pr prober will be moved one step
0b5e55
  * back and the next blkid_do_probe() call will again call previously called
0b5e55
@@ -1125,8 +1126,6 @@ int blkid_do_safeprobe(blkid_probe pr)
0b5e55
 
0b5e55
 	blkid_probe_start(pr);
0b5e55
 
0b5e55
-	pr->prob_flags |= BLKID_PROBE_FL_IGNORE_BACKUP;
0b5e55
-
0b5e55
 	for (i = 0; i < BLKID_NCHAINS; i++) {
0b5e55
 		struct blkid_chain *chn;
0b5e55
 
0b5e55
@@ -1764,8 +1763,3 @@ void blkid_probe_use_wiper(blkid_probe p
0b5e55
 		blkid_probe_chain_reset_vals(pr, chn);
0b5e55
 	}
0b5e55
 }
0b5e55
-
0b5e55
-int blkid_probe_ignore_backup(blkid_probe pr)
0b5e55
-{
0b5e55
-	return pr && (pr->prob_flags & BLKID_PROBE_FL_IGNORE_BACKUP);
0b5e55
-}
0b5e55
diff -up util-linux-2.23.2/libblkid/src/superblocks/btrfs.c.kzak util-linux-2.23.2/libblkid/src/superblocks/btrfs.c
0b5e55
--- util-linux-2.23.2/libblkid/src/superblocks/btrfs.c.kzak	2013-06-13 09:46:10.421650630 +0200
0b5e55
+++ util-linux-2.23.2/libblkid/src/superblocks/btrfs.c	2014-01-23 10:51:10.109593273 +0100
0b5e55
@@ -63,11 +63,6 @@ static int probe_btrfs(blkid_probe pr, c
0b5e55
 {
0b5e55
 	struct btrfs_super_block *bfs;
0b5e55
 
0b5e55
-	if (mag->kboff > 64 && blkid_probe_ignore_backup(pr)) {
0b5e55
-		DBG(LOWPROBE, blkid_debug("btrfs: found backup superblock, ignore"));
0b5e55
-		return 1;
0b5e55
-	}
0b5e55
-
0b5e55
 	bfs = blkid_probe_get_sb(pr, mag, struct btrfs_super_block);
0b5e55
 	if (!bfs)
0b5e55
 		return -1;
0b5e55
@@ -92,8 +87,6 @@ const struct blkid_idinfo btrfs_idinfo =
0b5e55
 	.magics		=
0b5e55
 	{
0b5e55
 	  { .magic = "_BHRfS_M", .len = 8, .sboff = 0x40, .kboff = 64 },
0b5e55
-	  { .magic = "_BHRfS_M", .len = 8, .sboff = 0x40, .kboff = 64 * 1024 },
0b5e55
-	  { .magic = "_BHRfS_M", .len = 8, .sboff = 0x40, .kboff = 256 * 1024 * 1024 },
0b5e55
 	  { NULL }
0b5e55
 	}
0b5e55
 };