From 85c9f7f42941926e57e78e977c57589529b954b5 Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Thu, 21 Sep 2017 17:00:08 -0500 Subject: [PATCH] xfs_repair: handle missing extent states Missed a couple of the new extent states in the bmbt processing, so add them to avoid aborting xfs_repair. Signed-off-by: Darrick J. Wong Reviewed-by: Eric Sandeen [sandeen: move XR_E_REFC case above fallthrough to emit both do_warn] Signed-off-by: Eric Sandeen --- repair/dinode.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/repair/dinode.c b/repair/dinode.c index f0053358d..15ba8cc22 100644 --- a/repair/dinode.c +++ b/repair/dinode.c @@ -764,6 +764,7 @@ _("%s fork in ino %" PRIu64 " claims free block %" PRIu64 "\n"), case XR_E_FS_MAP: case XR_E_INO: case XR_E_INUSE_FS: + case XR_E_REFC: do_warn( _("%s fork in inode %" PRIu64 " claims metadata block %" PRIu64 "\n"), forkname, ino, b); @@ -780,6 +781,12 @@ _("%s fork in %s inode %" PRIu64 " claims used block %" PRIu64 "\n"), forkname, ftype, ino, b); goto done; + case XR_E_COW: + do_warn( +_("%s fork in %s inode %" PRIu64 " claims CoW block %" PRIu64 "\n"), + forkname, ftype, ino, b); + goto done; + default: do_error( _("illegal state %d in block map %" PRIu64 "\n"), -- 2.47.2