common/xfs: Add _scratch_get_sfdir_prefix function

Move get_sfdir_prefix function from xfs/278 to commom/xfs
and rename it to _scratch_get_sfdir_prefix so it can be
used in other xfs tests.

This commit also changes xfs/278 to make use of
_scratch_get_sfdir_prefix instead previous one.

Signed-off-by: Marco Benatto <mbenatto@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
Marco Benatto
2018-06-18 14:44:32 -03:00
committed by Eryu Guan
parent 8865de330f
commit f5cc573281
2 changed files with 16 additions and 15 deletions
+15
View File
@@ -760,3 +760,18 @@ _require_xfs_spaceman_command()
_notrun "xfs_spaceman $command doesn't support $param"
fi
}
_scratch_get_sfdir_prefix() {
local dir_ino="$1"
for prefix in "u.sfdir3" "u.sfdir2" "u3.sfdir3"; do
if [ -n "$(_scratch_xfs_get_metadata_field \
"${prefix}.hdr.parent.i4" \
"inode ${dir_ino}")" ]; then
echo "${prefix}"
return 0
fi
done
_scratch_xfs_db -c "inode ${dir_ino}" -c 'p' >> $seqres.full
return 1
}
+1 -15
View File
@@ -46,25 +46,11 @@ _scratch_unmount
echo "Silence is goodness..."
get_sfdir_prefix() {
local dir_ino="$1"
for prefix in "u.sfdir3" "u.sfdir2" "u3.sfdir3"; do
if [ -n "$(_scratch_xfs_get_metadata_field \
"${prefix}.hdr.parent.i4" \
"inode ${dir_ino}")" ]; then
echo "${prefix}"
return 0
fi
done
_scratch_xfs_db -c "inode ${dir_ino}" -c 'p' >> $seqres.full
return 1
}
set_ifield() {
_scratch_xfs_set_metadata_field "$1" 0 "inode $2" >> $seqres.full
}
sfdir_prefix="$(get_sfdir_prefix "$DIR_INO" || \
sfdir_prefix="$(_scratch_get_sfdir_prefix "$DIR_INO" || \
_fail "Cannot determine sfdir prefix")"
# Corrupt DIR