From mboxrd@z Thu Jan 1 00:00:00 1970 From: Theodore Tso Subject: Re: Read/write counts Date: Mon, 4 Jun 2007 14:33:43 -0400 Message-ID: <20070604183342.GC19224@thunk.org> References: <20070604163327.GR5181@schatzie.adilger.int> <20070604170223.GF23968@parisc-linux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Bryan Henderson , Andreas Dilger , "David H. Lynch Jr." , linux-fsdevel@vger.kernel.org To: Matthew Wilcox Return-path: Received: from THUNK.ORG ([69.25.196.29]:60747 "EHLO thunker.thunk.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755642AbXFDSeD (ORCPT ); Mon, 4 Jun 2007 14:34:03 -0400 Content-Disposition: inline In-Reply-To: <20070604170223.GF23968@parisc-linux.org> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org 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 more common to fix the application than the kernel. > > Linus has explicitly forbidden short reads from being returned. The > original poster may get away with it for a specialised case, but for > example, signals may not cause a return to userspace with a short read > for exactly this reason. 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 SA_RESTART, we will indeed return short reads, as required by POSIX. I don't think Linus has said that short reads are always evil; I certainly can't remember him ever making that statement. Do you have a pointer to a LKML message where he's said that? - Ted