nfs-utils: mount: mount -s (sloppy) option
Subsystems (2)
PATCH 3/11 nfs-utils: mount: mount -s (sloppy) option
commit 72baf6d14f166da0531bfe02273861e1c394c3bd
Author: Karel Zak <[email protected]> Date: Sat Feb 24 15:07:17 2007 -0500
Added support for the mount -s (sloppy) option
Signed-off-by Karel Zak <[email protected]>
Signed-off-by Steve Dickson <[email protected]>
utils/mount/mount.c +6 -2
@@ -44,6 +44,7 @@ char *progname;int nomtab;int verbose;int mounttype; +int sloppy;static struct option longopts[] = { {"fake" ,0 ,0 ,'f' },
@@ -176,7 +177,6 @@ void copy_mntent(struct mntent *ment, nfs_mntent_t *nment)int add_mtab (char *fsname,char *mount_point,char *fstype,int flags,char *opts,int freq,int passno) {struct mntent ment; -int fd;FILE *mtab; ment.mnt_fsname = fsname;
@@ -236,6 +236,7 @@ void mount_usage()printf ("\t-w\t\tMount file system read-write\n" );printf ("\t-f\t\tFake mount, don't actually mount\n" );printf ("\t-n\t\tDo not update /etc/mtab\n" ); +printf ("\t-s\t\tTolerate sloppy mount options rather than failing.\n" );printf ("\t-h\t\tPrint this help\n" );printf ("\tversion\t\tnfs4 - NFS version 4, nfs - older NFS version supported\n" );printf ("\tnfsoptions\tRefer mount.nfs(8) or nfs(5)\n\n" );
@@ -370,7 +371,7 @@ int main(int argc, char *argv[])return 0 ; } -while ((c =getopt_long (argc -2 , argv +2 ,"rt:vVwfno:h" , +while ((c =getopt_long (argc -2 , argv +2 ,"rt:vVwfno:hs" , longopts,NULL )) !=-1 ) {switch (c) {case 'r' :
@@ -400,6 +401,9 @@ int main(int argc, char *argv[])else mount_opts =xstrdup (optarg);break ; +case 's' : + ++sloppy; +break ;case 128 :/* bind */ mounttype =MS_BIND ;break ;
utils/mount/nfs4mount.c +2 -1
@@ -50,6 +50,7 @@#endif extern int verbose; +extern int sloppy;char *IDMAPLCK =DEFAULT_DIR "/rpcidmapd" ;#define idmapd_check () do { \
@@ -335,7 +336,7 @@ int nfs4mount(const char *spec, const char *node, int *flags, nocto = !val; else if (!strcmp(opt, "ac")) noac = !val; - else { + else if (!sloppy) {printf (_ ("unknown nfs mount option: " "%s%s\n" ), val ?"" :"no" , opt); goto fail;
utils/mount/nfsmount.c +11 -8
@@ -104,6 +104,7 @@ typedef union {static char errbuf[BUFSIZ ];static char *erreob = &errbuf[BUFSIZ ];extern int verbose; +extern int sloppy;/* Convert RPC errors into strings */ int rpc_strerror (int );
@@ -606,13 +607,13 @@ parse_options(char *old_opts, struct nfs_mount_data *data, } else if (!strcmp(opt, "namlen")) {if (nfs_mount_version >=2 ) data->namlen = val; -else +else if (!sloppy) goto bad_parameter;#endif }else if (!strcmp (opt,"addr" )) {/* ignore */ ;continue ; - }else + }else if (!sloppy) goto bad_parameter;sprintf (cbuf,"%s=%s," , opt, opteq+1 ); }else if (opteq) {
@@ -629,7 +630,7 @@ parse_options(char *old_opts, struct nfs_mount_data *data, mnt_pmap->pm_prot =IPPROTO_TCP ; data->flags |=NFS_MOUNT_TCP ;#endif - }else + }else if (!sloppy) goto bad_parameter;#if NFS_MOUNT_VERSION >=5 } else if (!strcmp(opt, "sec")) {
@@ -658,7 +659,7 @@ parse_options(char *old_opts, struct nfs_mount_data *data, data->pseudoflavor =AUTH_GSS_SPKMI ; else if (!strcmp(secflavor, "spkm3p")) data->pseudoflavor =AUTH_GSS_SPKMP ; - else { + else if (!sloppy) {printf (_ ("Warning: Unrecognized security flavor %s.\n" ), secflavor); goto bad_parameter;
@@ -677,7 +678,7 @@ parse_options(char *old_opts, struct nfs_mount_data *data, goto bad_parameter; }strncpy (data->context, context,NFS_MAX_CONTEXT_LEN ); - }else + }else if (!sloppy) goto bad_parameter;sprintf (cbuf,"%s=%s," , opt, opteq+1 ); }else {
@@ -764,9 +765,11 @@ parse_options(char *old_opts, struct nfs_mount_data *data,#endif }else { bad_option: -printf (_ ("Unsupported nfs mount option: " -"%s%s\n" ), val ?"" :"no" , opt); - goto out_bad; +if (!sloppy) { +printf (_ ("Unsupported nfs mount option: " +"%s%s\n" ), val ?"" :"no" , opt); + goto out_bad; + } }sprintf (cbuf, val ?"%s," :"no%s," , opt); }
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs