diff options
author | Rong Zhang <ulin0208@gmail.com> | 2025-05-07 15:34:38 +0800 |
---|---|---|
committer | Konstantin Komarov <almaz.alexandrovich@paragon-software.com> | 2025-06-23 19:22:32 +0200 |
commit | 8df35e16a92c002f046bc410998b89b07cfcd639 (patch) | |
tree | 406db474cbcb4ce395d90f3abc51c6cd0cbfc19d /fs/ntfs3/xattr.c | |
parent | 19272b37aa4f83ca52bdf9c16d5d81bdd1354494 (diff) |
fs/ntfs3: fix symlinks cannot be handled correctly
The symlinks created in windows will be broken in linux by ntfs3,
the patch fixes it.
Signed-off-by: Rong Zhang <ulin0208@gmail.com>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Diffstat (limited to 'fs/ntfs3/xattr.c')
-rw-r--r-- | fs/ntfs3/xattr.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c index e0055dcf8fe3..4bf14cff2683 100644 --- a/fs/ntfs3/xattr.c +++ b/fs/ntfs3/xattr.c @@ -313,7 +313,7 @@ out: static noinline int ntfs_set_ea(struct inode *inode, const char *name, size_t name_len, const void *value, size_t val_size, int flags, bool locked, - __le16 *ea_size) + __le32 *ea_size) { struct ntfs_inode *ni = ntfs_i(inode); struct ntfs_sb_info *sbi = ni->mi.sbi; @@ -522,7 +522,7 @@ update_ea: if (ea_info.size_pack != size_pack) ni->ni_flags |= NI_FLAG_UPDATE_PARENT; if (ea_size) - *ea_size = ea_info.size_pack; + *ea_size = ea_info.size; mark_inode_dirty(&ni->vfs_inode); out: @@ -950,7 +950,7 @@ out: * * save uid/gid/mode in xattr */ -int ntfs_save_wsl_perm(struct inode *inode, __le16 *ea_size) +int ntfs_save_wsl_perm(struct inode *inode, __le32 *ea_size) { int err; __le32 value; |