Re: [PATCH v2] xfs: test xfsdump subtree restores

Donald Douwsma <[email protected]>
Newsgroups org.kernel.vger.fstests,org.kernel.vger.linux-xfs
Message-ID <[email protected]>
On 28/7/26 20:39, Zorro Lang wrote:
> On Thu, Jul 23, 2026 at 04:26:17PM +1000, Donald Douwsma wrote:
>> Regression test for cumulative restores where a directory has been
>> renamed outside of the subtree being restored triggering the assert:
>>
>>   xfsrestore: tree.c:1421: noref_elim_recurse: Assertion 'isrealpr' failed
>>
>> Signed-off-by: Donald Douwsma <[email protected]>
>> ---
>> Changes since v1
>> - Fix use of _do, including label quoting
>> - Update test output
>> - Add tests for additional edge cases
>> ---
>>  tests/xfs/995     | 58 +++++++++++++++++++++++++++++++++++++++++++++++
>>  tests/xfs/995.out |  8 +++++++
>>  2 files changed, 66 insertions(+)
>>  create mode 100755 tests/xfs/995
>>  create mode 100644 tests/xfs/995.out
>>
>> diff --git a/tests/xfs/995 b/tests/xfs/995
>> new file mode 100755
>> index 000000000..bba0bcd52
>> --- /dev/null
>> +++ b/tests/xfs/995
>> @@ -0,0 +1,58 @@
>> +#! /bin/bash
>> +# SPDX-License-Identifier: GPL-2.0
>> +# Copyright (c) 2026 Red Hat.  All Rights Reserved.
>> +#
>> +# FS QA Test 995
>> +#
>> +# Regression test for cumulative restores where a directory has been
>> +# renamed outside of the subtree being restored resulting in
>> +#
>> +#   xfsrestore: tree.c:1421: noref_elim_recurse: Assertion 'isrealpr' failed
>> +#
>> +. ./common/preamble
>> +_begin_fstest auto dump
>> +_do_die_on_error="always"
> 
> I think this line is useless now, right? I'll remove it.
> 

Yes, thanks.

I did have a general question about how _do_die_on_error is used

$ git grep _do_die_on_error
common/rc:# second argument. If the command fails and the variable _do_die_on_error
common/rc:# is set to "always" or the two argument form is used and _do_die_on_error
common/rc:      && [ "$_do_die_on_error" = "always" \
common/rc:          -o \( $# -eq 2 -a "$_do_die_on_error" = "message_only" \) ]
tests/generic/017:_do_die_on_error=y
tests/generic/053:_do_die_on_error=y
tests/xfs/041:_do_die_on_error=message_only
tests/xfs/042:_do_die_on_error=message_only
tests/xfs/596:_do_die_on_error=message_only
tests/xfs/635:_do_die_on_error=message_only

_do_die_on_error=y doesn't seem valid.

generic/017 doesn't use _do, and I think generic/053 wants _do_die_on_error=always

Thoughts?

Don
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.