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