From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?P=E1draig_Brady?= Subject: Re: fallocate vs ENOSPC Date: Mon, 28 Nov 2011 08:55:02 +0000 Message-ID: <4ED34C66.8050300@draigBrady.com> References: <4ECF6D41.2040801@draigBrady.com> <20111125104050.GA26729@infradead.org> <20111127031455.GK5167@thunk.org> <20111127234331.GW2386@dastard> <20111128051054.GZ2386@dastard> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Theodore Tso , Christoph Hellwig , linux-fsdevel@vger.kernel.org To: Dave Chinner Return-path: Received: from mail1.vodafone.ie ([213.233.128.43]:65306 "EHLO mail1.vodafone.ie" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751435Ab1K1IzI (ORCPT ); Mon, 28 Nov 2011 03:55:08 -0500 In-Reply-To: <20111128051054.GZ2386@dastard> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 11/28/2011 05:10 AM, Dave Chinner wrote: > Quite frankly, if system utilities like cp and tar start to abuse > fallocate() by default so they can get "upfront ENOSPC detection", > then I will seriously consider making XFS use delayed allocation for > fallocate rather than unwritten extents so we don't lose the past 15 > years worth of IO and aging optimisations that delayed allocation > provides us with.... =46or the record I was considering fallocate() for these reasons. 1. Improved file layout for subsequent access 2. Immediate indication of ENOSPC 3. Efficient writing of NUL portions You lucidly detailed issues with 1. which I suppose could be somewhat mitigated by not fallocating < say 1MB, though I suppose file systems could be smarter here and not preallocate small chunks (or when otherwise not appropriate). We can already get ENOSPC from a write() after an fallocate() in certain edge cases, so it would probably make sense to expand those cases. cheers, P=E1draig. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel= " in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html