On Fri, Mar 25, 2022 at 03:26:00AM +0800, Zorro Lang wrote: > On Thu, Mar 24, 2022 at 03:44:00PM +0000, Catherine Hoang wrote: > > > On Mar 22, 2022, at 6:36 PM, Zorro Lang <zlang@xxxxxxxxxx> wrote: > > > > > > On Thu, Mar 17, 2022 at 11:24:08PM +0000, Catherine Hoang wrote: > > >> This test creates an xfs filesystem and verifies that the filesystem > > >> matches what is specified by the protofile. > > >> > > >> This patch extends the current test to check that a protofile can specify > > >> setgid mode on directories. Also, check that the created symlink isn’t > > >> broken. > > >> > > >> Signed-off-by: Catherine Hoang <catherine.hoang@xxxxxxxxxx> > > >> --- > > > > > > Any specific reason to add this test? Likes uncovering some one known > > > bug/fix? > > > > > > Thanks, > > > Zorro > > > > Hi Zorro, > > > > We’ve been exploring alternate uses for protofiles and noticed a few holes > > in the testing. > > That's great, but better to show some details in the patch/commit, likes > a commit id of xfsprogs?/kernel? (if there's one) which fix the bug you > metioned, to help others to know what's this change trying to cover. I think this patch is adding a check that protofile lines are actually being honored (in the case of the symlink file) and checking that setgid on a directory is not carried over into new children unless the protofile explicitly marks the children setgid. IOWs, this isn't adding a regression test for a fix in xfsprogs, it's increasing test coverage. --D > Thanks, > Zorro > > > > > Thanks, > > Catherine > > > > > >> tests/xfs/019 | 6 ++++++ > > >> tests/xfs/019.out | 12 +++++++++++- > > >> 2 files changed, 17 insertions(+), 1 deletion(-) > > >> > > >> diff --git a/tests/xfs/019 b/tests/xfs/019 > > >> index 3dfd5408..535b7af1 100755 > > >> --- a/tests/xfs/019 > > >> +++ b/tests/xfs/019 > > >> @@ -73,6 +73,10 @@ $ > > >> setuid -u-666 0 0 $tempfile > > >> setgid --g666 0 0 $tempfile > > >> setugid -ug666 0 0 $tempfile > > >> +directory_setgid d-g755 3 2 > > >> +file_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_5 ---755 3 1 $tempfile > > >> +$ > > >> +: back in the root > > >> block_device b--012 3 1 161 162 > > >> char_device c--345 3 1 177 178 > > >> pipe p--670 0 0 > > >> @@ -114,6 +118,8 @@ _verify_fs() > > >> | xargs $here/src/lstat64 | _filter_stat) > > >> diff -q $SCRATCH_MNT/bigfile $tempfile.2 \ > > >> || _fail "bigfile corrupted" > > >> + diff -q $SCRATCH_MNT/symlink $tempfile.2 \ > > >> + || _fail "symlink broken" > > >> > > >> echo "*** unmount FS" > > >> _full "umount" > > >> diff --git a/tests/xfs/019.out b/tests/xfs/019.out > > >> index 19614d9d..8584f593 100644 > > >> --- a/tests/xfs/019.out > > >> +++ b/tests/xfs/019.out > > >> @@ -7,7 +7,7 @@ Wrote 2048.00Kb (value 0x2c) > > >> File: "." > > >> Size: <DSIZE> Filetype: Directory > > >> Mode: (0777/drwxrwxrwx) Uid: (3) Gid: (1) > > >> -Device: <DEVICE> Inode: <INODE> Links: 3 > > >> +Device: <DEVICE> Inode: <INODE> Links: 4 > > >> > > >> File: "./bigfile" > > >> Size: 2097152 Filetype: Regular File > > >> @@ -54,6 +54,16 @@ Device: <DEVICE> Inode: <INODE> Links: 1 > > >> Mode: (0755/-rwxr-xr-x) Uid: (3) Gid: (1) > > >> Device: <DEVICE> Inode: <INODE> Links: 1 > > >> > > >> + File: "./directory_setgid" > > >> + Size: <DSIZE> Filetype: Directory > > >> + Mode: (2755/drwxr-sr-x) Uid: (3) Gid: (2) > > >> +Device: <DEVICE> Inode: <INODE> Links: 2 > > >> + > > >> + File: "./directory_setgid/file_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_5" > > >> + Size: 5 Filetype: Regular File > > >> + Mode: (0755/-rwxr-xr-x) Uid: (3) Gid: (2) > > >> +Device: <DEVICE> Inode: <INODE> Links: 1 > > >> + > > >> File: "./pipe" > > >> Size: 0 Filetype: Fifo File > > >> Mode: (0670/frw-rwx---) Uid: (0) Gid: (0) > > >> -- > > >> 2.25.1 > > >> > > > > > >