[PATCH v5 14/14] locks: add new fcntl cmd values for handling file private locks
Jeff Layton
jlayton at redhat.com
Thu Jan 9 17:55:27 MST 2014
On Thu, 09 Jan 2014 12:29:04 -0800
Andy Lutomirski <luto at amacapital.net> wrote:
> On 01/09/2014 06:19 AM, Jeff Layton wrote:
> > Due to some unfortunate history, POSIX locks have very strange and
> > unhelpful semantics. The thing that usually catches people by surprise
> > is that they are dropped whenever the process closes any file descriptor
> > associated with the inode.
> >
>
> [...]
>
> > +#define F_GETLKP 36
> > +#define F_SETLKP 37
> > +#define F_SETLKPW 38
> > +
> > +#ifndef CONFIG_64BIT
> > +#ifndef F_GETLK64
> > +#define F_GETLKP64 39
> > +#define F_SETLKP64 40
> > +#define F_SETLKPW64 41
> > +#endif
> > +#endif
> > +
>
> Since there are no existing callers of these fcntls, can you get rid of
> the non-64-bit variants? The implementation might be a bit more of
> departure from current code, but it should make everything a lot cleaner
> and make it easier (aka automatic) for new architectures to support this
> feature.
>
That sounds reasonable, but I'll admit I had some trouble slogging
through the morass of fcntl/fcntl64 syscall handling code. I mostly did
the cargo-cult thing on this patch to get something that worked.
So, to make sure I understand...
You're basically suggesting that we just require that 32-bit userland
always use fcntl64() to access these new cmd values?
I'll try to do that, but I'll probably need someone to carefully review
what I come up with (hint, hint).
Thanks,
--
Jeff Layton <jlayton at redhat.com>
More information about the samba-technical
mailing list