Thread (117 messages) 117 messages, 14 authors, 2020-03-07

Re: [PATCH 00/17] VFS: Filesystem information and notifications [ver #17]

From: Ian Kent <raven@themaw.net>
Date: 2020-03-04 04:20:43
Also in: linux-fsdevel, lkml

On Tue, 2020-03-03 at 15:10 +0100, Miklos Szeredi wrote:
On Tue, Mar 3, 2020 at 2:43 PM Greg Kroah-Hartman
[off-list ref] wrote:
quoted
On Tue, Mar 03, 2020 at 02:34:42PM +0100, Miklos Szeredi wrote:
quoted
If buffer is too small to fit the whole file, return error.
Why?  What's wrong with just returning the bytes asked for?  If
someone
only wants 5 bytes from the front of a file, it should be fine to
give
that to them, right?
I think we need to signal in some way to the caller that the result
was truncated (see readlink(2), getxattr(2), getcwd(2)), otherwise
the
caller might be surprised.
quoted
quoted
Verify that the number of bytes read matches the file size,
otherwise
return error (may need to loop?).
No, we can't "match file size" as sysfs files do not really have a
sane
"size".  So I don't want to loop at all here, one-shot, that's all
you
get :)
Hmm.  I understand the no-size thing.  But looping until EOF (i.e.
until read return zero) might be a good idea regardless, because
short
reads are allowed.
Surely a short read equates to an error.

That has to be the definition of readfile() because you can do the
looping thing with read(2) and get the entire file anyway.

If you think about it don't you arrive at the conclusion this can
be done with read(2) alone anyway because you have to loop to get
the entire file, otherwise there's no point to the syscall!

Ian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help