fcntl(F_RDAHEAD)
Igor Sysoev
is at rambler-co.ru
Tue Sep 22 07:28:50 UTC 2009
On Mon, Sep 21, 2009 at 02:29:09PM +0300, Kostik Belousov wrote:
> On Mon, Sep 21, 2009 at 03:12:45PM +0400, Igor Sysoev wrote:
> > > What I dislike about the patch is the new kernel-private flag that is
> > > eaten from the open(2) flags namespace. We do already have FHASLOCK,
> > > so far the only such flag.
> >
> > We can change
> > int f_seqcount;
> > to
> > u_int f_seqcount;
> >
> > and can use highest bit instead of O_READAHEAD: anyway f_seqcount is shifted
> > to 16 bits left.
>
> Or do the same trick as was done for FHASLOCK and override some flag that
> is not saved after open, see FMASK.
>
> Or split f_seqcount into two u_short fields, one for f_seqcount, second for
> f_kflag, and use the later for FHASLOCK and FREADAHEAD. [We are trying to
> not grow struct file unless absolutely neccessary].
I agree that struct file should not grow (at least in this case).
However, I believe splitting f_seqcount into two fields will break
kernel ABI. Or not ? I think f_seqcount should be splitted in 9-CURRENT
and probably, in 8-STABLE, but in 7-STABLE we may use the open(2) flags
namespace.
--
Igor Sysoev
http://sysoev.ru/en/
More information about the freebsd-hackers
mailing list