xfs_repair: don't indicate dirtiness if FSGEOMETRY fails
diff mbox

Message ID fceea296-989c-a71d-a6e7-23560fd6db8b@redhat.com
State Accepted
Headers show

Commit Message

Eric Sandeen Dec. 16, 2016, 3:56 p.m. UTC
Today, pointing repair at an image hosted on a non-xfs
filesystem will result in a XFS_IOC_FSGEOMETRY_V1 failure,
but repair generally proceeds without further problems.

However, calling do_warn() sets fs_is_dirty to 1, so
xfs_repair -n exits with non-zero status, indicating
corruption.  This is incorrect.

Change the message to use do_log so that it does not
incorrectly indicate corruption.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>

To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

diff mbox

diff --git a/repair/xfs_repair.c b/repair/xfs_repair.c
index d950a32..5c79fd9 100644
--- a/repair/xfs_repair.c
+++ b/repair/xfs_repair.c
@@ -696,7 +696,7 @@  main(int argc, char **argv)
 		struct xfs_fsop_geom_v1 geom = { 0 };
 		if (ioctl(fd, XFS_IOC_FSGEOMETRY_V1, &geom) < 0) {
-			do_warn(_("Cannot get host filesystem geometry.\n"
+			do_log(_("Cannot get host filesystem geometry.\n"
 		"Repair may fail if there is a sector size mismatch between\n"
 		"the image and the host filesystem.\n"));
 			geom.sectsize = BBSIZE;