svn commit: r193041 - head/sys/sys

Edward Tomasz Napierala trasz at FreeBSD.org
Fri May 29 16:49:46 UTC 2009


On 0529T0948, Scott Long wrote:
> Occasionally it's useful to be able to run older binaries on newer 
> kernels.

Yes, not being able to use mount(8) from FreeBSD 7 on a kernel from
FreeBSD 8 would suck.  ;-)

> One particularly useful place is for making releases.  Does
> this change to struct mount break that?  If so, could there be any other
> way to achieve what you want without the breakage?

No, it doesn't break it.  Also, I think breaking ABI for mount(8)
because of mount flags won't be neccessary anytime soon - for mounting
and unmounting we have nmount(2), which is extensible by definition,
and to display mounted filesystems, mount(8) uses statfs(2), and f_flags
is int64_t already.

> Edward Tomasz Napierala wrote:
> > Author: trasz
> > Date: Fri May 29 15:00:04 2009
> > New Revision: 193041
> > URL: http://svn.freebsd.org/changeset/base/193041
> > 
> > Log:
> >   There is only one spare MNT_ flag left, and I want to use it for NFSv4 ACLs.
> >   Make room for additional filesystem flags now, to avoid breaking ABI later.
> >   
> >   Reviewed by:	kib@
> > 
> > Modified:
> >   head/sys/sys/mount.h
> > 
> > Modified: head/sys/sys/mount.h
> > ==============================================================================
> > --- head/sys/sys/mount.h	Fri May 29 14:42:02 2009	(r193040)
> > +++ head/sys/sys/mount.h	Fri May 29 15:00:04 2009	(r193041)
> > @@ -167,6 +167,7 @@ struct mount {
> >  	int		mnt_writeopcount;	/* (i) write syscalls pending */
> >  	int		mnt_kern_flag;		/* (i) kernel only flags */
> >  	u_int		mnt_flag;		/* (i) flags shared with user */
> > +	u_int		mnt_xflag;		/* (i) more flags shared with user */
> >  	u_int		mnt_noasync;		/* (i) # noasync overrides */
> >  	struct vfsoptlist *mnt_opt;		/* current mount options */
> >  	struct vfsoptlist *mnt_optnew;		/* new options passed to fs */
> > @@ -221,7 +222,7 @@ void          __mnt_vnode_markerfree(str
> >  #endif /* _KERNEL */
> >  
> >  /*
> > - * User specifiable flags.
> > + * User specifiable flags, stored in mnt_flag.
> >   */
> >  #define	MNT_RDONLY	0x00000001	/* read only filesystem */
> >  #define	MNT_SYNCHRONOUS	0x00000002	/* filesystem written synchronously */
> 

-- 
If you cut off my head, what would I say?  Me and my head, or me and my body?



More information about the svn-src-head mailing list