Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Mar 2011 09:36:56 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: O_CLOEXEC
Message-ID:  <201103250936.56512.jhb@freebsd.org>
In-Reply-To: <20110325123422.GK78089@deviant.kiev.zoral.com.ua>
References:  <20110325005923.GI78089@deviant.kiev.zoral.com.ua> <201103250814.47903.jhb@freebsd.org> <20110325123422.GK78089@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, March 25, 2011 8:34:22 am Kostik Belousov wrote:
> On Fri, Mar 25, 2011 at 08:14:47AM -0400, John Baldwin wrote:
> > On Thursday, March 24, 2011 8:59:24 pm Kostik Belousov wrote:
> > > Hi,
> > > below is the implementation of O_CLOEXEC flag for open(2). I also
> > > handle the fhopen(2), since the man page states that fhopen(2) takes
> > > the same flags as open(2), and it is more logical to change code
> > > then man page.
> > > 
> > > It is somewhat curious that SUSv4 did not specified O_CLOEXEC behaviour
> > > for posix_openpt(). I left it out, but it probably makes sense to
> > > allow O_CLOEXEC there ?
> > > 
> > > The falloc() KPI is left as is because the function is often used
> > > in the kernel and probably in the third-party modules. fdallocf()
> > > takes additional flag argument to set close-on-exec before any other
> > > thread might see new file descriptor.
> > 
> > Hmm, I don't actually expect falloc() to be used in 3rd party modules and 
> > would be fine with just adding a new flags parameter to it.
> 
> The calls to falloc() appear in such modules as cryptodev(4).
> I do not mind changing falloc interface, but I also intend to merge
> O_CLOEXEC to stable/8. Are you fine with merging your suggestion to
> stable branch, while falloc() is called from cryptodev, zlib,
> linux (later is not a big issue if I bump __FreeBSD_version) ?

Hmmm, there are a few ways, but perhaps the simplest is to commit the current 
approach (and MFC it), but to do a followup commit to HEAD to remove fallocf() 
and add the flags argument to falloc().  That changes the KPI for 9+, but 
avoids growing the future KPI.

-- 
John Baldwin



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