Re: [PATCH: nfs-utils] mountd: fix exporting of "/" with sec= setting.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 10/04/13 21:01, NeilBrown wrote:
> 
> 
> Commit 91bb95f2689e84856ecdf6fac365489d36709cf9
>    4set_root: force "fsid=0" for all exports of '/'
> 
> set NFSEXP_FSID for the export of "/" if nothing else had any fsid set,
> however it didn't also set the flag for all security flavours.  So the
> kernel complains that the flags on the security flavours don't match and
> it rejects the export.
> 
> So call fix_pseudoflavor_flags() in write_secinfo() to make sure that
> any fiddling that has been done to e_flags gets copied to e_secinfo.
> 
> Signed-off-by: NeilBrown <neilb@xxxxxxx>
Committed...

steved.

> 
> diff --git a/support/include/exportfs.h b/support/include/exportfs.h
> index 5960feb..1fbf754 100644
> --- a/support/include/exportfs.h
> +++ b/support/include/exportfs.h
> @@ -177,6 +177,7 @@ struct export_features {
>  };
>  
>  struct export_features *get_export_features(void);
> +void fix_pseudoflavor_flags(struct exportent *ep);
>  
>  /* Record export error.  */
>  extern int export_errno;
> diff --git a/support/nfs/exports.c b/support/nfs/exports.c
> index 6c08a2b..dea040f 100644
> --- a/support/nfs/exports.c
> +++ b/support/nfs/exports.c
> @@ -469,7 +469,7 @@ static void clearflags(int mask, unsigned int active, struct exportent *ep)
>   * ensure that the export flags agree with the flags on each
>   * pseudoflavor:
>   */
> -static void fix_pseudoflavor_flags(struct exportent *ep)
> +void fix_pseudoflavor_flags(struct exportent *ep)
>  {
>  	struct export_features *ef;
>  	struct sec_entry *p;
> diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
> index 978698d..53552b3 100644
> --- a/utils/mountd/cache.c
> +++ b/utils/mountd/cache.c
> @@ -735,6 +735,7 @@ static void write_secinfo(FILE *f, struct exportent *ep, int flag_mask)
>  		/* There was no sec= option */
>  		return;
>  	}
> +	fix_pseudoflavor_flags(ep);
>  	qword_print(f, "secinfo");
>  	qword_printint(f, p - ep->e_secinfo);
>  	for (p = ep->e_secinfo; p->flav; p++) {
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux