lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ