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

From: Miklos Szeredi
Date: Tue Mar 03 2020 - 09:11:05 EST


On Tue, Mar 3, 2020 at 2:43 PM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> On Tue, Mar 03, 2020 at 02:34:42PM +0100, Miklos Szeredi wrote:

> > 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.

>
> > 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.

Thanks,
Miklos