Re: [PATCH 5/5] tracing: add binary buffer files for use withsplice

From: Theodore Tso
Date: Tue Mar 03 2009 - 23:46:35 EST


On Tue, Mar 03, 2009 at 10:43:16PM -0500, Steven Rostedt wrote:
> > Conventionally a read() system call will return the number of bytes
> > copied, and will only return -EFOO if the number of bytes copied was
> > zero.
> >
> > Lots of parts of the kernel break this, but it's usually device drivers
> > and scruffy pseudo files, in which case a partial file read doesn't
> > make much sense. This doesn't make the broken behaviour right, but at
> > least we have a bit of a weaselly excuse in that case.
> >
>
> I just went by the read man page:
>
> EFAULT buf is outside your accessible address space.
>

What is normally done in this case if buf is within the addressable
space, but buf+x is not, where x < len, then read(fd, buf, len) will
fill copy as many characters it can into buf until it runs out of
valid addres space, and then return that count as a partial read.

- Ted
--
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/