[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5565E4CF.3070205@gmail.com>
Date: Wed, 27 May 2015 11:37:51 -0400
From: Austin S Hemmelgarn <ahferroin7@...il.com>
To: Mosis Tembo <mosis.tembo@...il.com>, linux-kernel@...r.kernel.org,
linux-fsdevel@...r.kernel.org
Subject: Re: Tux3 Report: How fast can we fail?
On 2015-05-27 11:21, Mosis Tembo wrote:
>
> On 05/27/2015 04:04 PM, Austin S Hemmelgarn wrote:
>> On 2015-05-27 03:37, Mosis Tembo wrote:
>>>
>>> On 05/26/2015 12:03 PM, Pavel Machek wrote:
>>>>> We identified the following quality metrics for this algorithm:
>>>>>
>>>>> 1) Never fails to detect out of space in the front end.
>>>>> 2) Always fills a volume to 100% before reporting out of space.
>>>>> 3) Allows rm, rmdir and truncate even when a volume is full.
>>>
>>> This is definitely nonsense. You can not rm, rmdir and truncate
>>> when the volume is full. You will need a free space on disk to perform
>>> such operations. Do you know why?
>>>
>> I assume you are referring either to Tux3 specifically or COW
>> filesystems in general,
>
>
> I am referring to modern file systems with transaction models and
> delayed actions.
> Tux3 is not the case?
>
In a sensibly designed non-COW filesystem, unlink, truncate, and
FALLOCATE_FL_{PUNCH_HOLE,COLLAPSE_RANGE} should never need to allocate
anything. On well designed COW filesystems, you keep a reserve of space
that is only available for temporary internal use so that these will
work even when you report the volume as 100% full so you can free space.
This is what BTRFS does (although it doesn't always work because of
segregating data and metadata), and I believe that tux3 does this also,
although I don't remember for certain.
>
>> because you very much _can_ do any of those on any of the non-COW
>> filesystems in the Linux kernel
>
>
> It is simply incorrect. ReiserFS is a counterexample.
>
Apologies, I didn't know about ReiserFS having issues with that (it's
the only one that I haven't used, and this is yet another reason I
probably never will), but I know for a fact that it does work on ext*,
XFS, and JFS (I'm not entirely certain about OCFS2 and GFS2, and NILFS2
is technically COW because it's log structured).
>
>> (I know from experience). Also, IIRC, it was mentioned somewhere that
>> Tux3 keeps a small reserve of space on the volume for internal
>> operations; and, I would assume that if that is the case, it reports
>> the volume full when everything *except* that reserve of space is
>> used, in which case rm, rmdir, and truncate should work fine when the
>> volume is full.
>
>
> Sorry, I prefer to not manipulate with rumors and assumptions when it comes
> to the review for kernel inclusion.
>
Entirely understandable.
Download attachment "smime.p7s" of type "application/pkcs7-signature" (2967 bytes)
Powered by blists - more mailing lists