--- /dev/null
+ext4: check fast symlink for ea_inode correctly
+
+The check for a fast symlink in the presence of only an
+external xattr inode is incorrect. If a fast symlink does
+not have an xattr block (i_file_acl == 0), but does have
+an external xattr inode that increases inode i_blocks, then
+the check for a fast symlink will incorrectly fail and
+__ext4_iget()->ext4_ind_check_inode() will report an error
+when the inode is next loaded into memory:
+
+ # ln -s foo /mnt/tmp/bar
+ # setfattr -h -n trusted.test \
+ -v "$(head -200 /etc/services)" /mnt/tmp/bar
+ # umount /mnt/tmp
+ # mount /mnt/tmp
+ # ls -l /mnt/tmp
+ ls: cannot access '/mnt/tmp/bar': Structure needs cleaning
+ total 4
+ ? l?????????? ? ? ? ? ? bar
+ # dmesg | tail -1
+ EXT4-fs error (device dm-8): __ext4_iget:5098:
+ inode #24578: block 7303014: comm ls: invalid block
+
+The ext4_inode_is_fast_symlink() check should use the
+superblock EA_INODE feature flag, not EXT4_EA_INODE_FL,
+since the latter is only set on the xattr inode itself,
+and not on the inode that references it.
+
+Fixes: fc82228a5e38 ("ext4: support fast symlinks from ext3 file systems")
+Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
+
+Index: linux-stage/fs/ext4/inode.c
+===================================================================
+--- linux-stage.orig/fs/ext4/inode.c
++++ linux-stage/fs/ext4/inode.c
+@@ -148,7 +148,7 @@ static int ext4_meta_trans_blocks(struct
+ */
+ int ext4_inode_is_fast_symlink(struct inode *inode)
+ {
+- if (!(EXT4_I(inode)->i_flags & EXT4_EA_INODE_FL)) {
++ if (!ext4_has_feature_ea_inode(inode->i_sb)) {
+ int ea_blocks = EXT4_I(inode)->i_file_acl ?
+ EXT4_CLUSTER_SIZE(inode->i_sb) >> 9 : 0;
+
suse15/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
ubuntu18/ext4-attach-jinode-in-writepages.patch
suse15/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
suse15/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
suse15/ext4-attach-jinode-in-writepages.patch
suse15/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
suse15/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
ubuntu18/ext4-attach-jinode-in-writepages.patch
suse15/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
suse15/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
suse15/ext4-attach-jinode-in-writepages.patch
suse15/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
ubuntu18/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
ubuntu18/ext4-attach-jinode-in-writepages.patch
ubuntu18/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
ubuntu18/ext4-corrupted-inode-block-bitmaps-handling-patches-001.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
ubuntu18/ext4-attach-jinode-in-writepages.patch
ubuntu18/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8.7/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8.2/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8.7/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8.2/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8.3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8.2/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8.3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8.2/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8.3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8.2/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8.7/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8.2/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8.7/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8.2/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8.7/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8.2/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
ubuntu18/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
ubuntu18/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.10/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.10/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel7.6/ext4-export-orphan-add.patch
linux-5.8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.10/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.10/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.16/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.16/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
rhel9.2/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel9.2/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel7.6/ext4-export-orphan-add.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel7.6/ext4-export-orphan-add.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel7.6/ext4-export-orphan-add.patch
rhel9.4/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel9.4/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.16/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.14/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.10/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.10/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
+base/ext4-symlink-xattr-inode-fix.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel7.6/ext4-export-orphan-add.patch
ubuntu20.04.5/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.10/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
ubuntu20.04.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
ubuntu20.04.5/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.10/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
ubuntu20.04.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.16/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8.3/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
rhel8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.8/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
linux-5.4/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.4/ext4-attach-jinode-in-writepages.patch
rhel8/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-5.16/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-5.10/ext4-attach-jinode-in-writepages.patch
linux-6.1/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-6.10/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-6.10/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-6.10/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-6.6/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-6.7/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
linux-6.7/ext4-corrupted-inode-block-bitmaps-handling-patches.patch
rhel9/ext4-give-warning-with-dir-htree-growing.patch
ubuntu18/ext4-jcb-optimization.patch
+base/ext4-symlink-xattr-inode-fix.patch
linux-6.2/ext4-attach-jinode-in-writepages.patch
linux-6.5/ext4-dont-check-before-replay.patch
base/ext4-fix-ext4_inode_attach_jinode.patch
}
run_test 17o "stat file with incompat LMA feature"
+
# LU-17660: "cannot overwrite directory" when creating symlink
test_17p() {
touch $DIR/$tfile
}
run_test 17p "symlink overwrite directory error message"
+test_17q() {
+ (( $MDS1_VERSION >= $(version_code 2.14.0-ddn212) )) ||
+ skip "Need MDS >= 2.14.0-ddn212 for symlink xattr"
+ local mdts=$(comma_list $(mdts_nodes))
+
+ ln -s foo $DIR/$tfile
+ setfattr -h -n trusted.test -v "$(head -200 /etc/services)" $DIR/$tfile ||
+ error "setfattr large xattr on symlink failed"
+ cancel_lru_locks mdc
+ sysctl -w vm.drop_caches=3
+ do_nodes $mdts sysctl -w vm.drop_caches=3
+ ls -l $DIR/$tfile || error "ls -l failed"
+}
+run_test 17q "set large xattr on fast symlink"
+
test_18() {
touch $DIR/$tfile || error "Failed to touch $DIR/$tfile: $?"
ls $DIR || error "Failed to ls $DIR: $?"