aboutsummaryrefslogtreecommitdiff
path: root/fs/cifs/fs_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/fs_context.h')
-rw-r--r--fs/cifs/fs_context.h74
1 files changed, 41 insertions, 33 deletions
diff --git a/fs/cifs/fs_context.h b/fs/cifs/fs_context.h
index 3a66199f3cb7..d4a905a80883 100644
--- a/fs/cifs/fs_context.h
+++ b/fs/cifs/fs_context.h
@@ -9,8 +9,11 @@
#ifndef _FS_CONTEXT_H
#define _FS_CONTEXT_H
-#include <linux/parser.h>
#include "cifsglob.h"
+#include <linux/parser.h>
+#include <linux/fs_parser.h>
+
+#define cifs_invalf(fc, fmt, ...) invalf(fc, fmt, ## __VA_ARGS__)
enum smb_version {
Smb_1 = 1,
@@ -24,8 +27,6 @@ enum smb_version {
Smb_version_err
};
-int cifs_parse_smb_version(char *value, struct smb3_fs_context *ctx, bool is_smb3);
-
enum {
Opt_cache_loose,
Opt_cache_strict,
@@ -35,8 +36,6 @@ enum {
Opt_cache_err
};
-int cifs_parse_cache_flavor(char *value, struct smb3_fs_context *ctx);
-
enum cifs_sec_param {
Opt_sec_krb5,
Opt_sec_krb5i,
@@ -55,36 +54,36 @@ enum cifs_sec_param {
enum cifs_param {
/* Mount options that take no arguments */
- Opt_user_xattr, Opt_nouser_xattr,
- Opt_forceuid, Opt_noforceuid,
- Opt_forcegid, Opt_noforcegid,
+ Opt_user_xattr,
+ Opt_forceuid,
+ Opt_forcegid,
Opt_noblocksend,
Opt_noautotune,
Opt_nolease,
- Opt_hard, Opt_nohard,
- Opt_soft, Opt_nosoft,
- Opt_perm, Opt_noperm,
+ Opt_hard,
+ Opt_soft,
+ Opt_perm,
Opt_nodelete,
- Opt_mapposix, Opt_nomapposix,
+ Opt_mapposix,
Opt_mapchars,
Opt_nomapchars,
- Opt_sfu, Opt_nosfu,
+ Opt_sfu,
Opt_nodfs,
- Opt_posixpaths, Opt_noposixpaths,
- Opt_unix, Opt_nounix,
+ Opt_posixpaths,
+ Opt_unix,
Opt_nocase,
- Opt_brl, Opt_nobrl,
- Opt_handlecache, Opt_nohandlecache,
+ Opt_brl,
+ Opt_handlecache,
Opt_forcemandatorylock,
Opt_setuidfromacl,
- Opt_setuids, Opt_nosetuids,
- Opt_dynperm, Opt_nodynperm,
- Opt_intr, Opt_nointr,
- Opt_strictsync, Opt_nostrictsync,
- Opt_serverino, Opt_noserverino,
+ Opt_setuids,
+ Opt_dynperm,
+ Opt_intr,
+ Opt_strictsync,
+ Opt_serverino,
Opt_rwpidforward,
- Opt_cifsacl, Opt_nocifsacl,
- Opt_acl, Opt_noacl,
+ Opt_cifsacl,
+ Opt_acl,
Opt_locallease,
Opt_sign,
Opt_ignore_signature,
@@ -95,13 +94,13 @@ enum cifs_param {
Opt_multiuser,
Opt_sloppy,
Opt_nosharesock,
- Opt_persistent, Opt_nopersistent,
- Opt_resilient, Opt_noresilient,
+ Opt_persistent,
+ Opt_resilient,
Opt_domainauto,
Opt_rdma,
Opt_modesid,
Opt_rootfs,
- Opt_multichannel, Opt_nomultichannel,
+ Opt_multichannel,
Opt_compress,
/* Mount options which take numeric value */
@@ -142,11 +141,6 @@ enum cifs_param {
/* Mount options to be ignored */
Opt_ignore,
- /* Options which could be blank */
- Opt_blank_pass,
- Opt_blank_user,
- Opt_blank_ip,
-
Opt_err
};
@@ -247,9 +241,23 @@ struct smb3_fs_context {
unsigned int max_channels;
__u16 compression; /* compression algorithm 0xFFFF default 0=disabled */
bool rootfs:1; /* if it's a SMB root file system */
+
+ char *mount_options;
};
-extern int cifs_parse_security_flavors(char *value, struct smb3_fs_context *ctx);
+extern const struct fs_parameter_spec smb3_fs_parameters[];
+
+extern int cifs_parse_cache_flavor(char *value,
+ struct smb3_fs_context *ctx);
+extern int cifs_parse_security_flavors(char *value,
+ struct smb3_fs_context *ctx);
+extern int smb3_init_fs_context(struct fs_context *fc);
+
+static inline struct smb3_fs_context *smb3_fc2context(const struct fs_context *fc)
+{
+ return fc->fs_private;
+}
+
extern int smb3_fs_context_dup(struct smb3_fs_context *new_ctx, struct smb3_fs_context *ctx);
#endif