From: Xiong Zhou Date: Mon, 9 May 2016 00:55:52 +0000 (+1000) Subject: overlay: notrun if upper fs does not support d_type X-Git-Tag: v2022.05.01~2522 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=8582e24f9414162a95b1ecb52cffcc9c1791f815;p=xfstests-dev.git overlay: notrun if upper fs does not support d_type Overlayfs whiteout can be visible if underlying upper fs does not support d_type. Kernel commit 45aebea (ovl: Ensure upper filesystem supports d_type) prevents mounting overlayfs like this since v4.6-rc1. Check upper fs before mounting overlay, mark as not run if needs. Signed-off-by: Xiong Zhou Reviewed-by: Eryu Guan Signed-off-by: Dave Chinner --- diff --git a/common/rc b/common/rc index 8bec8368..946b354d 100644 --- a/common/rc +++ b/common/rc @@ -273,6 +273,22 @@ _overlay_mount() local dir=$1 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 + mkdir -p $dir/$OVERLAY_UPPER_DIR mkdir -p $dir/$OVERLAY_LOWER_DIR mkdir -p $dir/$OVERLAY_WORK_DIR