Update generic/423 to test that the reported size of a symlink is equal
to the length of the symlink target, as required by POSIX and as
documented in various man pages.
When the test_dummy_encryption mount option is enabled, this serves as a
regression test for the bug that will be fixed by the patch series
"fscrypt: report correct st_size for encrypted symlinks"
(https://lkml.kernel.org/r/
20210702065350.209646-1-ebiggers@kernel.org).
However, this test is applicable to all filesystems and mount options.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
stx_nlink=1
echo "Test statx on a symlink"
-ln -s $TEST_DIR/$seq-nowhere $TEST_DIR/$seq-symlink
+target=$TEST_DIR/$seq-nowhere
+ln -s $target $TEST_DIR/$seq-symlink
check_stat $TEST_DIR/$seq-symlink \
ts_order \
ref=$TEST_DIR/$seq-file \
ts=B,b \
ts=M,m \
stx_type=sym \
+ stx_size=${#target} \
stx_rdev_major=0 \
stx_rdev_minor=0 \
stx_nlink=1