Re: Update of file offset on write() etc. is non-atomic with I/O

From: Linus Torvalds
Date: Mon Mar 03 2014 - 19:42:45 EST


On Mon, Mar 3, 2014 at 4:23 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
>
> I wonder if something like
>
> static inline struct fd fdget(int fd)
> {
> unsigned long v = __fdget(fd);
> return (struct fd){(struct file *)(v & ~1), v & 1};
> }

Make it use "&3" so that we have the two bits we need, and I'll
happily take that approach, yes.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/