public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Donald Douwsma <ddouwsma@redhat.com>
To: linux-xfs@vger.kernel.org
Cc: Donald Douwsma <ddouwsma@redhat.com>
Subject: [PATCH 4/5] xfsrestore: remove failing assert from noref_elim_recurse
Date: Tue, 24 Feb 2026 18:17:11 +1100	[thread overview]
Message-ID: <20260224071712.1014075-5-ddouwsma@redhat.com> (raw)
In-Reply-To: <20260224071712.1014075-1-ddouwsma@redhat.com>

We are getting reports from the field where cumulative restores are
aborting due due to a failing assertion.

  xfsrestore: tree.c:1421: noref_elim_recurse: Assertion 'isrealpr' failed

This appears to be caused by a rename within the tree between restore
levels, or a combination of modifications occurring during dump.
Fixing it will likely require changes in noref_elim_recurse and
tree_post, to ensure elements of the tree are created for these edge
conditions. Given the state of xfsdump this is a bit risky for
maintenance streams.

While current builds have assert(3) active, remove this one allowing
xfsrestore to continue, warning on failing renames for directory nodes
that haven't been created. Once the full tree is built referenced
directories will end up in the orphanage allowing for user recovery.

Signed-off-by: Donald Douwsma <ddouwsma@redhat.com>
---
 restore/tree.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/restore/tree.c b/restore/tree.c
index bf89c6a..81666ac 100644
--- a/restore/tree.c
+++ b/restore/tree.c
@@ -1404,12 +1404,13 @@ noref_elim_recurse(nh_t parh,
 				Node_free(&cldh);
 			}
 
+			/* Process renames for directories that have been created.
+			 */
 			if (isrenamepr) {
 				nrh_t nrh;
 				node_t *renamep;
 
 				assert(isrefpr);
-				assert(isrealpr);
 				ok = Node2path(cldh,
 						path1,
 						_("tmp dir rename src"));
-- 
2.47.3


  parent reply	other threads:[~2026-02-24  7:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-24  7:17 [PATCH 0/5] xfsdump, xfsprogs distro builds and DEBUG= Donald Douwsma
2026-02-24  7:17 ` [PATCH 1/5] xfsrestore: remove unused variable strctxp Donald Douwsma
2026-02-24  7:17 ` [PATCH 2/5] annotate variables only used for assert Donald Douwsma
2026-02-24  7:17 ` [PATCH 3/5] xfsrestore: include TREE_DEBUG all builds Donald Douwsma
2026-02-24  7:17 ` Donald Douwsma [this message]
2026-03-23  3:01   ` [PATCH 4/5] xfsrestore: remove failing assert from noref_elim_recurse Donald Douwsma
2026-02-24  7:17 ` [PATCH 5/5] xfsrestore: assert suppression workaround Donald Douwsma
2026-03-13 13:12 ` [PATCH 0/5] xfsdump, xfsprogs distro builds and DEBUG= Andrey Albershteyn
2026-03-23  1:48   ` Donald Douwsma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260224071712.1014075-5-ddouwsma@redhat.com \
    --to=ddouwsma@redhat.com \
    --cc=linux-xfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox