Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 17 Dec 2001 13:06:37 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 17 Dec 2001 13:06:27 -0500 Received: from bay-bridge.veritas.com ([143.127.3.10]:32365 "EHLO svldns02.veritas.com") by vger.kernel.org with ESMTP id ; Mon, 17 Dec 2001 13:06:21 -0500 Date: Mon, 17 Dec 2001 18:07:47 +0000 (GMT) From: Hugh Dickins To: Andrea Arcangeli cc: GOTO Masanori , Andrew Morton , Suresh Gopalakrishnan , linux-kernel@vger.kernel.org Subject: Re: O_DIRECT wierd behavior.. In-Reply-To: <20011217181840.G2431@athlon.random> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 17 Dec 2001, Andrea Arcangeli wrote: > > I'm unsure (it's basically a matter of API, not something a kernel > developer can choose liberally), and the SuSv2 is not saying anything about > O_SYNC failures in the write(2) manapge, but I guess it would be at > least saner to put the "pos" backwards if we fail osync but we just > written something (so if we previously advanced pos). I don't have references to back me up, don't take my word for it: but I'm sure that the correct behaviour for a partially successful read or write in any UNIX is that it return the count done, O_SYNC or not, and file position should match that count; only when none has been done is -1 returned with errno set. Most implementations will get this wrong in one corner or another, but that's how it should be. Hugh - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/