mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
common/rc: factor out _supports_filetype() helper
_overlay_mount_dirs() checks for the filetype feature on upper dir fs. factor out that feature test to a helper. Signed-off-by: Amir Goldstein <amir73il@gmail.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
committed by
Eryu Guan
parent
030fd2aea2
commit
9aead226d3
@@ -264,6 +264,22 @@ _scratch_mount_options()
|
||||
$SCRATCH_DEV $SCRATCH_MNT
|
||||
}
|
||||
|
||||
_supports_filetype()
|
||||
{
|
||||
local dir=$1
|
||||
|
||||
local fstyp=$(df --output=fstype $dir | tail -1)
|
||||
case "$fstyp" in
|
||||
xfs)
|
||||
xfs_info $dir | grep -q "ftype=1"
|
||||
;;
|
||||
ext2|ext3|ext4)
|
||||
tune2fs -l $(df --output=source $dir | tail -1) | \
|
||||
grep -q filetype
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# helper function to do the actual overlayfs mount operation
|
||||
_overlay_mount_dirs()
|
||||
{
|
||||
@@ -284,20 +300,7 @@ _overlay_mount()
|
||||
local mnt=$2
|
||||
shift 2
|
||||
|
||||
local upper_fst=$(df --output=fstype $dir | tail -1)
|
||||
case "$upper_fst" in
|
||||
xfs)
|
||||
if ! xfs_info $dir | grep -q "ftype=1" ; then
|
||||
_notrun "upper fs needs to support d_type"
|
||||
fi
|
||||
;;
|
||||
ext2|ext3|ext4)
|
||||
if ! tune2fs -l $(df --output=source $dir | tail -1) | \
|
||||
grep -q filetype ; then
|
||||
_notrun "upper fs needs to support d_type"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
_supports_filetype $dir || _notrun "upper fs needs to support d_type"
|
||||
|
||||
mkdir -p $dir/$OVERLAY_UPPER_DIR
|
||||
mkdir -p $dir/$OVERLAY_LOWER_DIR
|
||||
|
||||
Reference in New Issue
Block a user