From owner-freebsd-hackers@freebsd.org Mon May 23 13:38:46 2016 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4C612B462DE for ; Mon, 23 May 2016 13:38:46 +0000 (UTC) (envelope-from joerg@bec.de) Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [IPv6:2001:4b98:c:538::196]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 17CD31D60 for ; Mon, 23 May 2016 13:38:46 +0000 (UTC) (envelope-from joerg@bec.de) Received: from britannica.bec.de (p20030057E21176048C47C6DE7E800516.dip0.t-ipconnect.de [IPv6:2003:57:e211:7604:8c47:c6de:7e80:516]) (Authenticated sender: joerg@bec.de) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 887911720F8 for ; Mon, 23 May 2016 15:38:44 +0200 (CEST) Date: Mon, 23 May 2016 15:38:42 +0200 From: Joerg Sonnenberger To: freebsd-hackers@freebsd.org Subject: Re: read(2) and thus bsdiff is limited to 2^31 bytes Message-ID: <20160523133842.GA17056@britannica.bec.de> Mail-Followup-To: freebsd-hackers@freebsd.org References: <20160522225414.GB24398@britannica.bec.de> <154dab43060.11208cdfd132112.2616144627831899155@nextbsd.org> <20160522231203.GB25503@britannica.bec.de> <154db353935.dd5e87c1133922.4370692881788049491@nextbsd.org> <20160523122131.GC8747@britannica.bec.de> <5a607409-1b98-8944-b1f2-4422b1d28248@erdgeist.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5a607409-1b98-8944-b1f2-4422b1d28248@erdgeist.org> User-Agent: Mutt/1.6.1 (2016-04-27) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 May 2016 13:38:46 -0000 On Mon, May 23, 2016 at 02:36:58PM +0200, Dirk Engling wrote: > On 23.05.16 14:21, Joerg Sonnenberger wrote: > > > Atomic meaning in this context that the read can be observed either > > completely or not at all. This still doesn't mean that read must > > execute the full size. Other cases for short read/writes are socket, > > pipes etc. > > On linux I found read() returning a short read, however I wonder if any > user land application developer ever expects a read from local file to > yield a short read and continue reading. Maybe I should scan base system > sources for all occurrences of read. They have to. Consider a signal interrupting the read. Joerg