@@ -59,6 +59,14 @@ _scratch_unmount
_scratch_xfs_set_metadata_field "hdr.count" "0" \
"inode $inum" "ablock 0" >> $seqres.full
+# verify current xfs_db write command can set hdr.count to 0. Old xfsprogs
+# can't do that on v5 filesystems.
+count=$(_scratch_xfs_get_metadata_field "hdr.count" \
+ "inode $inum" "ablock 0")
+if [ "$count" != "0" ]; then
+ _notrun "xfs_db can't set attr hdr.count to 0"
+fi
+
# make sure xfs_repair can find above corruption. If it can't, that
# means we need to fix this bug on current xfs_repair
_scratch_xfs_repair -n >> $seqres.full 2>&1
Old xfsprogs can't change attr hdr.count to 0 on v5 filesystems, two reasons maybe cause this issue: 1) This commit has been merged: 89baf918(xfs_db: write values into dir/attr blocks and recalculate CRCs). 2) xfs_db write command doesn't support -d option. That's not a real bug, so skip this test if xfs_db can't set attr hdr.count to 0. Signed-off-by: Zorro Lang <zlang@redhat.com> --- Hi, V2 tried to bring in a common function named _require_xfs_db_write_da(): https://marc.info/?l=linux-xfs&m=153301569124126&w=2 But by talking with #xfs channel, I drop that common function, only change in xfs/288 inside now. Thanks, Zorro tests/xfs/288 | 8 ++++++++ 1 file changed, 8 insertions(+)