From 1f47f5504c3ecf62afc6511a48886232f39431ab Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 28 Jun 2017 19:27:40 +0200 Subject: [PATCH] udev: never ask libblkid for detecting superblocks with bad checksums (#6215) Previously, we'd ask liblkid to also tell us about recognized superblocks with bad checksums. We'd then log about them and ignore them. This however created ambuigity problems, see #6110: the BLKID_SUBLKS_BADCSUM is not as innocent as it appears. This patch drops bad checksum handling and we ignore all such superblocks entirely again, as it was the status quo ante d47f6ca5f9b7a0b400d8bdb050151a0284fb4bdb (where this was snuck in). Ideally, libblkid would be changed to avoid this ambiguity problems for bad checksums, but that's not going to happen any time soon, according to @karelzak. Fixes: #6110 --- src/udev/udev-builtin-blkid.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/udev/udev-builtin-blkid.c b/src/udev/udev-builtin-blkid.c index 4171bbd..11d7085 100644 --- a/src/udev/udev-builtin-blkid.c +++ b/src/udev/udev-builtin-blkid.c @@ -229,7 +229,6 @@ static int builtin_blkid(struct udev_device *dev, int argc, char *argv[], bool t _cleanup_blkid_free_probe_ blkid_probe pr = NULL; const char *data; const char *name; - const char *prtype = NULL; int nvals; int i; int err = 0; @@ -265,8 +264,7 @@ static int builtin_blkid(struct udev_device *dev, int argc, char *argv[], bool t blkid_probe_set_superblocks_flags(pr, BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE | - BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION | - BLKID_SUBLKS_BADCSUM); + BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION); if (noraid) blkid_probe_filter_superblocks_usage(pr, BLKID_FLTR_NOTIN, BLKID_USAGE_RAID); @@ -288,15 +286,6 @@ static int builtin_blkid(struct udev_device *dev, int argc, char *argv[], bool t err = probe_superblocks(pr); if (err < 0) goto out; - if (blkid_probe_has_value(pr, "SBBADCSUM")) { - if (!blkid_probe_lookup_value(pr, "TYPE", &prtype, NULL)) - log_warning("incorrect %s checksum on %s", - prtype, udev_device_get_devnode(dev)); - else - log_warning("incorrect checksum on %s", - udev_device_get_devnode(dev)); - goto out; - } /* If we are a partition then our parent passed on the root * partition UUID to us */ -- 2.7.4