| To: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: fallocate mode flag for "unshare blocks"? |
| From: | Andreas Dilger <adilger@xxxxxxxxx> |
| Date: | Thu, 31 Mar 2016 09:31:23 -0600 |
| Cc: | Liu Bo <bo.li.liu@xxxxxxxxxx>, "Darrick J. Wong" <darrick.wong@xxxxxxxxxx>, xfs@xxxxxxxxxxx, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, linux-btrfs <linux-btrfs@xxxxxxxxxxxxxxx>, linux-api@xxxxxxxxxxxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=dilger-ca.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:from:in-reply-to:date:cc:message-id:references :to; bh=HPyfaXAtev1LnHRt88IEJGFROobjJtp5+44uRwekGDw=; b=oxxwG3M3C/bCuWY8y3aAc8XCCrtn0Gjh3Hg/BtFp/LeukFGvkNeiaA+JchWRp4+8AL Tgt/cLTqMaNztZvNOzJ3eWcVBqkJ9oME3SSw3afTgsxVqMbdHw7w8VHJwBtYx9JOU8iG vFUTLSl4Su8EE09c5jDF2au5iRdLF01dxrkYQKsiMQA/DScyT29iYf6i7JYGFo6pUp8A aFBrIWD0YYXpjqUiGNZ8w6Jz1kTO/7DnbKBSRVOt6Tc+Wihb/DEGWY0lPOEQW7/Nv0BZ gwQHW/5RWfIG+YThX/EnfkkryteB8wJrSWySqpjGWTugiuDP2UGajLebECkghd46ab13 hAxg== |
| In-reply-to: | <20160331075529.GB4209@xxxxxxxxxxxxx> |
| References: | <20160302155007.GB7125@xxxxxxxxxxxxx> <20160330182755.GC2236@xxxxxxxxxxxxxxxx> <20160331003242.GA5813@xxxxxxxxxxxxxxxxxxxxx> <20160331075529.GB4209@xxxxxxxxxxxxx> |
On Mar 31, 2016, at 1:55 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Wed, Mar 30, 2016 at 05:32:42PM -0700, Liu Bo wrote: >> Well, btrfs fallocate doesn't allocate space if it's a shared one >> because it thinks the space is already allocated. So a later overwrite >> over this shared extent may hit enospc errors. > > And this makes it an incorrect implementation of posix_fallocate, > which glibcs implements using fallocate if available. It isn't really useful for a COW filesystem to implement fallocate() to reserve blocks. Even if it did allocate all of the blocks on the initial fallocate() call, when it comes time to overwrite these blocks new blocks need to be allocated as the old ones will not be overwritten. Because of snapshots that could hold references to the old blocks, there isn't even the guarantee that the previous fallocated blocks will be released in a reasonable time to free up an equal amount of space. Cheers, Andreas
|
| Previous by Date: | Re: [PATCH] xfs: add missing break in xfs_parseargs(), Eric Sandeen |
|---|---|
| Next by Date: | Re: fallocate mode flag for "unshare blocks"?, Austin S. Hemmelgarn |
| Previous by Thread: | Re: fallocate mode flag for "unshare blocks"?, Christoph Hellwig |
| Next by Thread: | Re: fallocate mode flag for "unshare blocks"?, Austin S. Hemmelgarn |
| Indexes: | [Date] [Thread] [Top] [All Lists] |