summaryrefslogtreecommitdiff
path: root/fs/smb/client/fs_context.h
diff options
context:
space:
mode:
authorPaulo Alcantara <pc@manguebit.com>2024-01-21 19:28:21 +0300
committerSteve French <stfrench@microsoft.com>2024-03-11 03:33:54 +0300
commiteb90e8ecb2b54ac1af51e28596e0ef7ba351476d (patch)
tree78fee2e29cbeff8bed412b850847dfc57854e5c8 /fs/smb/client/fs_context.h
parent71f15c90e785d1de4bcd65a279e7256684c25c0d (diff)
downloadlinux-eb90e8ecb2b54ac1af51e28596e0ef7ba351476d.tar.xz
smb: client: introduce reparse mount option
Allow the user to create special files and symlinks by choosing between WSL and NFS reparse points via 'reparse={nfs,wsl}' mount options. If unset or 'reparse=default', the client will default to creating them via NFS reparse points. Creating WSL reparse points isn't supported yet, so simply return error when attempting to mount with 'reparse=wsl' for now. Signed-off-by: Paulo Alcantara <pc@manguebit.com> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/smb/client/fs_context.h')
-rw-r--r--fs/smb/client/fs_context.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/smb/client/fs_context.h b/fs/smb/client/fs_context.h
index 182ce11cbe93..1f09754977e7 100644
--- a/fs/smb/client/fs_context.h
+++ b/fs/smb/client/fs_context.h
@@ -41,6 +41,13 @@ enum {
Opt_cache_err
};
+enum cifs_reparse_parm {
+ Opt_reparse_default,
+ Opt_reparse_nfs,
+ Opt_reparse_wsl,
+ Opt_reparse_err
+};
+
enum cifs_sec_param {
Opt_sec_krb5,
Opt_sec_krb5i,
@@ -148,6 +155,7 @@ enum cifs_param {
Opt_vers,
Opt_sec,
Opt_cache,
+ Opt_reparse,
/* Mount options to be ignored */
Opt_ignore,
@@ -271,6 +279,7 @@ struct smb3_fs_context {
char *leaf_fullpath;
struct cifs_ses *dfs_root_ses;
bool dfs_automount:1; /* set for dfs automount only */
+ enum cifs_reparse_type reparse_type;
};
extern const struct fs_parameter_spec smb3_fs_parameters[];