[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1tz4tiln4.fsf@fess.ebiederm.org>
Date: Sun, 12 Apr 2009 14:53:51 -0700
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Jamie Lokier <jamie@...reable.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
linux-mm@...ck.org, linux-fsdevel@...r.kernel.org,
Al Viro <viro@...IV.linux.org.uk>,
Hugh Dickins <hugh@...itas.com>, Tejun Heo <tj@...nel.org>,
Alexey Dobriyan <adobriyan@...il.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Greg Kroah-Hartman <gregkh@...e.de>
Subject: Re: [RFC][PATCH 8/9] vfs: Implement generic revoked file operations
Jamie Lokier <jamie@...reable.org> writes:
> Eric W. Biederman wrote:
>> >> revoked_file_ops return 0 from reads (aka EOF). Tell poll the file is
>> >> always ready for I/O and return -EIO from all other operations.
>> >
>> > I think read should return -EIO too. If a program is reading from a
>> > /proc file (say), and the thing it's reading suddenly disappears, EOF
>> > gives the false impression that it's read to the end of formatted data
>> > from that file and it can process the data as if it's complete, which
>> > is wrong.
>>
>> Good point EIO is the current read return value for a removed proc file.
>>
>> For closed pipes, and hung up ttys the read return value is 0, and from
>> my reading that is what bsd returns after a sys_revoke.
>
> A few suggestions below. Feel free to ignore them on account of the
> basic revoking functionality being more important :-)
I think I will. This seems to be the part of the code that is easily
approachable and it is going to be easy to have different opinions on,
and there is no one right answer.
For now I'm just going to pick my best understanding of what BSD did.
Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists