[BACK]Return to getfattr.test CVS log [TXT][DIR] Up to [Development] / xfs-cmds / attr / test

File: [Development] / xfs-cmds / attr / test / getfattr.test (download)

Revision 1.2, Tue Dec 4 05:10:47 2007 UTC (9 years, 10 months ago) by tes.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +87 -16 lines

Add some code to the tree walking to better handle file descriptors.
Merge of master-melb:xfs-cmds:30192a by kenmcd.

	$ mkdir d
	$ cd d

	$ touch f
	$ setfattr -n user.test -v test f
	$ ln -s f l
	$ setfattr -h -n trusted.test -v test l

This case should be obvious:
	$ getfattr -m- -d f
	> # file: f
	> user.test="test"
	>

Without -h, we dereference symlinks:
	$ getfattr -m- -d l
	> # file: l
	> user.test="test"
	>

With -h, we do not dereference symlinks:
	$ getfattr -m- -hd l
	> # file: l
	> trusted.test="test"
	>

Do the same for symlinks we find in a directory hierarchy:
	$ getfattr -m- -Rd .
	> # file: f
	> user.test="test"
	>
	> # file: l
	> user.test="test"
	>

	$ getfattr -m- -Rhd .
	> # file: f
	> user.test="test"
	>
	> # file: l
	> trusted.test="test"
	>

Make sure we follow symlinks on the command line only when we should:
	$ ln -s . here
	$ getfattr -m- -Rd here
	> # file: here/f
	> user.test="test"
	>
	> # file: here/l
	> user.test="test"
	>

	$ getfattr -m- -Rhd here
	> # file: here/f
	> user.test="test"
	>
	> # file: here/l
	> trusted.test="test"
	>

	$ getfattr -m- -RLhd here
	> # file: here/f
	> user.test="test"
	>
	> # file: here/l
	> trusted.test="test"
	>

	$ getfattr -m- -RPhd here

Make sure we recurse into sub-directories:
	$ mkdir sub
	$ mv f l sub
	$ getfattr -m- -Rd .
	> # file: sub/f
	> user.test="test"
	>
	> # file: sub/l
	> user.test="test"
	>

	$ getfattr -m- -Rhd .
	> # file: sub/f
	> user.test="test"
	>
	> # file: sub/l
	> trusted.test="test"
	>

Make sure we follow symlinks to directories only when we should:
	$ mkdir sub2
	$ ln -s ../sub sub2/to-sub
	$ getfattr -m- -Rhd sub2

	$ getfattr -m- -RLhd sub2
	> # file: sub2/to-sub/f
	> user.test="test"
	>
	> # file: sub2/to-sub/l
	> trusted.test="test"
	>

	$ getfattr -m- -RPhd sub2

Symlink loop detection:
	$ ln -s .. sub/up
	$ getfattr -m- -RLhd .
	> # file: sub2/to-sub/f
	> user.test="test"
	>
	> # file: sub2/to-sub/l
	> trusted.test="test"
	>
	> # file: sub/f
	> user.test="test"
	>
	> # file: sub/l
	> trusted.test="test"
	>

	$ cd ..
	$ rm -rf d