X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Futils%2Fmount_utils.h;h=e7f327ffd6417c0df38844ab6b446fcd76644b81;hb=ecb6712a19fa836ecdba41ccda80de0a10b1336a;hp=4fac57fc805d5079172d830623ef7c0a0c9cb3fd;hpb=2b294992edce5af7b79d4300ed3aa1ea6a8db850;p=fs%2Flustre-release.git diff --git a/lustre/utils/mount_utils.h b/lustre/utils/mount_utils.h index 4fac57f..e7f327f 100644 --- a/lustre/utils/mount_utils.h +++ b/lustre/utils/mount_utils.h @@ -15,11 +15,7 @@ * * You should have received a copy of the GNU General Public License * version 2 along with this program; If not, see - * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * http://www.gnu.org/licenses/gpl-2.0.html * * GPL HEADER END */ @@ -48,6 +44,17 @@ #define _SPL_ZFS_H #define _SPL_SIGNAL_H #endif +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include #include #include @@ -64,6 +71,7 @@ extern int failover; #define MO_FAILOVER 0x04 #define MO_DRYRUN 0x08 #define MO_QUOTA 0x10 +#define MO_NOHOSTID_CHECK 0x20 #define MAX_LOOP_DEVICES 16 #define INDEX_UNASSIGNED 0xFFFF @@ -75,6 +83,7 @@ struct mkfs_opts { char **mo_pool_vdevs; /* list of pool vdevs */ char mo_loopdev[128]; /* in case a loop dev is needed */ char mo_mkfsopts[512]; /* options to the backing-store mkfs */ + char *mo_mountopts; /* mount options for backing fs */ __u64 mo_device_kb; /* in KB */ int mo_stripe_count; int mo_flags; @@ -88,6 +97,9 @@ struct mount_opts { char *mo_usource; /* user-specified mount device */ char *mo_source; /* our mount device name */ char mo_target[PATH_MAX]; /* mount directory */ +#ifdef HAVE_GSS + char mo_skpath[PATH_MAX]; /* shared key file/directory */ +#endif int mo_nomtab; int mo_fake; int mo_force; @@ -107,6 +119,10 @@ int get_mountdata(char *, struct lustre_disk_data *); #define IS_OST(data) ((data)->ldd_flags & LDD_F_SV_TYPE_OST) #undef IS_MGS #define IS_MGS(data) ((data)->ldd_flags & LDD_F_SV_TYPE_MGS) +#undef IS_SERVER +#define IS_SERVER(data) ((data)->ldd_flags & (LDD_F_SV_TYPE_MGS | \ + LDD_F_SV_TYPE_MDT | LDD_F_SV_TYPE_OST)) + /* mkfs/mount helper functions */ void fatal(void); @@ -120,7 +136,8 @@ char *strscpy(char *dst, char *src, int buflen); int check_mtab_entry(char *spec1, char *spec2, char *mntpt, char *type); int update_mtab_entry(char *spec, char *mtpt, char *type, char *opts, int flags, int freq, int pass); -int check_mountfsoptions(char *mountopts, char *wanted_mountopts, int justwarn); +int update_utab_entry(struct mount_opts *mop); +int check_mountfsoptions(char *mountopts, char *wanted_mountopts); void trim_mountfsoptions(char *s); __u64 get_device_size(char* device); @@ -136,8 +153,8 @@ int osd_read_ldd(char *dev, struct lustre_disk_data *ldd); int osd_is_lustre(char *dev, unsigned *mount_type); int osd_make_lustre(struct mkfs_opts *mop); int osd_prepare_lustre(struct mkfs_opts *mop, - char *default_mountopts, int default_len, - char *always_mountopts, int always_len); + char *wanted_mountopts, size_t len); +int osd_fix_mountopts(struct mkfs_opts *mop, char *mountopts, size_t len); int osd_tune_lustre(char *dev, struct mount_opts *mop); int osd_label_lustre(struct mount_opts *mop); int osd_enable_quota(struct mkfs_opts *mop); @@ -152,8 +169,9 @@ struct module_backfs_ops { int (*is_lustre)(char *dev, enum ldd_mount_type *mount_type); int (*make_lustre)(struct mkfs_opts *mop); int (*prepare_lustre)(struct mkfs_opts *mop, - char *default_mountopts, int default_len, - char *always_mountopts, int always_len); + char *wanted_mountopts, size_t len); + int (*fix_mountopts)(struct mkfs_opts *mop, + char *mountopts, size_t len); int (*tune_lustre)(char *dev, struct mount_opts *mop); int (*label_lustre)(struct mount_opts *mop); int (*enable_quota)(struct mkfs_opts *mop); @@ -162,5 +180,12 @@ struct module_backfs_ops { struct module_backfs_ops *load_backfs_module(enum ldd_mount_type mount_type); void unload_backfs_ops(struct module_backfs_ops *ops); - +#ifdef HAVE_OPENSSL_SSK +int load_shared_keys(struct mount_opts *mop); +#else +static inline int load_shared_keys(struct mount_opts *mop) +{ + return EOPNOTSUPP; +} +#endif #endif