Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 May 2009 18:38:00 +0200
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        Scott Long <scottl@samsco.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r193041 - head/sys/sys
Message-ID:  <20090529163800.GA80773@pin.if.uz.zgora.pl>
In-Reply-To: <4A2003D4.2010607@samsco.org>
References:  <200905291500.n4TF04HM078212@svn.freebsd.org> <4A2003D4.2010607@samsco.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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?




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090529163800.GA80773>