diff options
author | Paulo Alcantara <pc@manguebit.com> | 2023-11-26 05:55:06 +0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2024-01-08 00:46:06 +0300 |
commit | 7435d51b7ea2ab7801279c43ecd72063e9d5c92f (patch) | |
tree | 464f91149925132f710835da6b20aaadb48db0a1 /fs/smb/client/smb2proto.h | |
parent | 67ec9949b0dfe78c99e110dd975eb7dc5645630c (diff) | |
download | linux-7435d51b7ea2ab7801279c43ecd72063e9d5c92f.tar.xz |
smb: client: fix renaming of reparse points
The client was sending an SMB2_CREATE request without setting
OPEN_REPARSE_POINT flag thus failing the entire rename operation.
Fix this by setting OPEN_REPARSE_POINT in create options for
SMB2_CREATE request when the source inode is a repase point.
Signed-off-by: Paulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/smb/client/smb2proto.h')
-rw-r--r-- | fs/smb/client/smb2proto.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/smb/client/smb2proto.h b/fs/smb/client/smb2proto.h index 709324cff712..aef50316670a 100644 --- a/fs/smb/client/smb2proto.h +++ b/fs/smb/client/smb2proto.h @@ -86,9 +86,11 @@ extern int smb2_rmdir(const unsigned int xid, struct cifs_tcon *tcon, const char *name, struct cifs_sb_info *cifs_sb); extern int smb2_unlink(const unsigned int xid, struct cifs_tcon *tcon, const char *name, struct cifs_sb_info *cifs_sb); -extern int smb2_rename_path(const unsigned int xid, struct cifs_tcon *tcon, - const char *from_name, const char *to_name, - struct cifs_sb_info *cifs_sb); +int smb2_rename_path(const unsigned int xid, + struct cifs_tcon *tcon, + struct dentry *source_dentry, + const char *from_name, const char *to_name, + struct cifs_sb_info *cifs_sb); extern int smb2_create_hardlink(const unsigned int xid, struct cifs_tcon *tcon, const char *from_name, const char *to_name, struct cifs_sb_info *cifs_sb); |