linux/fs/smb/client
Pali Rohár 41d3f256c6 cifs: Add support for creating SFU symlinks
Linux cifs client can already detect SFU symlinks and reads it content
(target location). But currently is not able to create new symlink. So
implement this missing support.

When 'sfu' mount option is specified and 'mfsymlinks' is not specified then
create new symlinks in SFU-style. This will provide full SFU compatibility
of symlinks when mounting cifs share with 'sfu' option. 'mfsymlinks' option
override SFU for better Apple compatibility as explained in fs_context.c
file in smb3_update_mnt_flags() function.

Extend __cifs_sfu_make_node() function, which now can handle also S_IFLNK
type and refactor structures passed to sync_write() in this function, by
splitting SFU type and SFU data from original combined struct win_dev as
combined fixed-length struct cannot be used for variable-length symlinks.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2024-09-16 20:10:34 -05:00
..
compress smb: client: compress: LZ77 code improvements cleanup 2024-09-15 10:42:45 -05:00
asn1.c
cached_dir.c smb3: fix Open files on server counter going negative 2024-04-11 16:02:02 -05:00
cached_dir.h smb: client: make laundromat a delayed worker 2023-10-12 09:41:04 -05:00
cifs_debug.c smb3: mark compression as CONFIG_EXPERIMENTAL and fix missing compression operation 2024-09-15 10:42:44 -05:00
cifs_debug.h
cifs_fs_sb.h
cifs_ioctl.h smb3: allow dumping session and tcon id to improve stats analysis and debugging 2023-11-10 02:00:30 -06:00
cifs_spnego_negtokeninit.asn1
cifs_spnego.c cifs: spnego: add ';' in HOST_KEY_LEN 2023-11-13 16:21:34 -06:00
cifs_spnego.h
cifs_swn.c
cifs_swn.h
cifs_unicode.c fs/smb/client: Use common code in client 2023-08-30 08:55:52 -05:00
cifs_unicode.h fs/smb/client: Use common code in client 2023-08-30 08:55:52 -05:00
cifsacl.c smb: client: Use min() macro 2024-09-15 10:42:44 -05:00
cifsacl.h smb: move some duplicate definitions to common/smbacl.h 2024-09-15 10:42:44 -05:00
cifsencrypt.c cifs: Fix signature miscalculation 2024-09-12 19:28:48 -05:00
cifsfs.c cifs: Fix copy offload to flush destination region 2024-08-28 07:48:33 -05:00
cifsfs.h cifs: Remove obsoleted declaration for cifs_dir_open 2024-09-15 10:42:44 -05:00
cifsglob.h smb3: mark compression as CONFIG_EXPERIMENTAL and fix missing compression operation 2024-09-15 10:42:44 -05:00
cifspdu.h cifs: Add support for creating SFU symlinks 2024-09-16 20:10:34 -05:00
cifsproto.h cifs: Add support for creating SFU symlinks 2024-09-16 20:10:34 -05:00
cifsroot.c
cifssmb.c smb/client: rename cifs_ntsd to smb_ntsd 2024-09-15 10:42:44 -05:00
compress.c smb: client: compress: fix an "illegal accesses" issue 2024-09-15 10:42:45 -05:00
compress.h smb: client: compress: LZ77 code improvements cleanup 2024-09-15 10:42:45 -05:00
connect.c smb: use LIST_HEAD() to simplify code 2024-09-15 10:42:45 -05:00
dfs_cache.c smb: client: refresh referral without acquiring refpath_lock 2024-04-02 10:11:43 -05:00
dfs_cache.h smb: client: ensure to try all targets when finding nested links 2023-08-20 16:05:50 -05:00
dfs.c smb: client: guarantee refcounted children from parent session 2024-04-02 10:09:57 -05:00
dfs.h smb: client: guarantee refcounted children from parent session 2024-04-02 10:09:57 -05:00
dir.c cifs: Fix caching to try to do open O_WRONLY as rdwr on server 2024-04-02 09:29:55 -05:00
dns_resolve.c
dns_resolve.h
export.c exportfs: make ->encode_fh() a mandatory method for NFS export 2023-10-28 16:15:15 +02:00
file.c smb: use LIST_HEAD() to simplify code 2024-09-15 10:42:45 -05:00
fs_context.c cifs: Add support for creating SFU symlinks 2024-09-16 20:10:34 -05:00
fs_context.h cifs: reinstate original behavior again for forceuid/forcegid 2024-04-22 10:50:31 -05:00
fscache.c cifs: Remove some code that's no longer used, part 1 2024-05-01 18:08:21 +01:00
fscache.h cifs: Remove some code that's no longer used, part 1 2024-05-01 18:08:21 +01:00
inode.c cifs: Recognize SFU socket type 2024-09-15 10:42:45 -05:00
ioctl.c smb3: fix problem unloading module due to leaked refcount on shutdown 2024-08-22 12:36:57 -05:00
Kconfig smb3: mark compression as CONFIG_EXPERIMENTAL and fix missing compression operation 2024-09-15 10:42:44 -05:00
link.c cifs: Add support for creating SFU symlinks 2024-09-16 20:10:34 -05:00
Makefile smb3: mark compression as CONFIG_EXPERIMENTAL and fix missing compression operation 2024-09-15 10:42:44 -05:00
misc.c smb: use LIST_HEAD() to simplify code 2024-09-15 10:42:45 -05:00
namespace.c smb: client: set correct id, uid and cruid for multiuser automounts 2024-02-12 12:46:49 -06:00
netlink.c
netlink.h
netmisc.c
nterr.c
nterr.h
ntlmssp.h cifs: Add client version details to NTLM authenticate message 2023-10-22 19:03:42 -05:00
readdir.c smb: client: parse uid, gid, mode and dev from WSL reparse points 2024-03-10 19:33:58 -05:00
reparse.c smb: client: ignore unhandled reparse tags 2024-08-22 12:37:16 -05:00
reparse.h smb: client: handle lack of FSCTL_GET_REPARSE_POINT support 2024-08-02 10:55:22 -05:00
rfc1002pdu.h
sess.c cifs: reduce warning log level for server not advertising interfaces 2024-03-14 13:54:27 -05:00
smb1ops.c cifs: Add a tracepoint to track credits involved in R/W requests 2024-07-19 11:08:57 -05:00
smb2file.c smb: use LIST_HEAD() to simplify code 2024-09-15 10:42:45 -05:00
smb2glob.h smb: client: introduce SMB2_OP_QUERY_WSL_EA 2024-03-10 19:33:58 -05:00
smb2inode.c smb: move SMB2 Status code to common header file 2024-09-15 10:42:44 -05:00
smb2maperror.c smb: move SMB2 Status code to common header file 2024-09-15 10:42:44 -05:00
smb2misc.c smb: move SMB2 Status code to common header file 2024-09-15 10:42:44 -05:00
smb2ops.c cifs: Add support for creating SFU symlinks 2024-09-16 20:10:34 -05:00
smb2pdu.c smb: client: insert compression check/call on write requests 2024-09-15 10:42:44 -05:00
smb2pdu.h smb/client: rename cifs_sid to smb_sid 2024-09-15 10:42:44 -05:00
smb2proto.h smb/client: rename cifs_ntsd to smb_ntsd 2024-09-15 10:42:44 -05:00
smb2transport.c smb: move SMB2 Status code to common header file 2024-09-15 10:42:44 -05:00
smbdirect.c smb: client: Use min() macro 2024-09-15 10:42:44 -05:00
smbdirect.h
smbencrypt.c smb: client: delete "true", "false" defines 2024-01-23 12:41:02 -06:00
smberr.h
trace.c
trace.h cifs: Fix lack of credit renegotiation on read retry 2024-08-28 07:47:36 -05:00
transport.c smb: client: insert compression check/call on write requests 2024-09-15 10:42:44 -05:00
unc.c
winucase.c
xattr.c smb/client: rename cifs_ntsd to smb_ntsd 2024-09-15 10:42:44 -05:00