Read/write counts

2007-06-04 Thread David H. Lynch Jr.
I have a file system that has really odd blocking. All files have a variable length header (basically a directory entry) at their start. Most but not all sectors, have a small fixed length signature as well as some link data at their start. The net result is that implimentation

Re: Read/write counts

2007-06-04 Thread Andreas Dilger
On Jun 04, 2007 06:20 -0400, David H. Lynch Jr. wrote: The net result is that implimentation would be simpler if I could just read/write, the amount of data that can be done with the least amount of work, even if that is less than was requested. If I receive a request to read 512 bytes, and

Re: Read/write counts

2007-06-04 Thread Bryan Henderson
It is not strictly an error to read/write less than the requested amount, but you will find that a lot of applications don't handle this correctly. I'd give it a slightly different nuance. It's not an error, and it's a reasonable thing to do, but there is value in not doing it. POSIX and its

Re: Read/write counts

2007-06-04 Thread Matthew Wilcox
On Mon, Jun 04, 2007 at 09:56:07AM -0700, Bryan Henderson wrote: Programs that assume a full transfer are fairly common, but are universally regarded as either broken or just lazy, and when it does cause a problem, it is far more common to fix the application than the kernel. Linus has

Re: Read/write counts

2007-06-04 Thread Theodore Tso
On Mon, Jun 04, 2007 at 11:02:23AM -0600, Matthew Wilcox wrote: On Mon, Jun 04, 2007 at 09:56:07AM -0700, Bryan Henderson wrote: Programs that assume a full transfer are fairly common, but are universally regarded as either broken or just lazy, and when it does cause a problem, it is far

Re: Read/write counts

2007-06-04 Thread Roman Zippel
Hi, On Mon, 4 Jun 2007, Theodore Tso wrote: Hmm, I'm not sure I would go that far. Per the POSIX specification, we support the optional BSD-style restartable system calls for signals which will avoid short reads; but this is only true if SA_RESTART is passed to sigaction(). Without

Re: Read/write counts

2007-06-04 Thread Joel Becker
On Mon, Jun 04, 2007 at 08:57:16PM +0200, Roman Zippel wrote: On Mon, 4 Jun 2007, Theodore Tso wrote: Hmm, I'm not sure I would go that far. Per the POSIX specification, we support the optional BSD-style restartable system calls for signals which will avoid short reads; but this is only

Re: Read/write counts

2007-06-04 Thread Theodore Tso
On Mon, Jun 04, 2007 at 08:57:16PM +0200, Roman Zippel wrote: That's the last discussion about signals and I/O I can remember: http://www.ussg.iu.edu/hypermail/linux/kernel/0208.0/0188.html Well, I think Linus was saying that we have to do both (where the signal interrupts and where it