[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250712143432.GE4040@mit.edu>
Date: Sat, 12 Jul 2025 10:34:32 -0400
From: "Theodore Ts'o" <tytso@....edu>
To: "Darrick J. Wong" <djwong@...nel.org>
Cc: Jiany Wu <wujianyue000@...il.com>, yi.zhang@...wei.com, jack@...e.cz,
linux-ext4@...r.kernel.org
Subject: Re: Issue with ext4 filesystem corruption when writing to a file
after disk exhaustion
On Fri, Jul 11, 2025 at 09:27:14PM -0700, Darrick J. Wong wrote:
>
> Honestly it's really too bad that there's no way for an fs to ask the
> block device how much space it thinks is available, and then teach its
> own statfs method to return min(fs space available, bdev space
> availble).
>
> Then at least df could report that your 500T ramdisk filesystem on a 4G
> /tmp really only has 4G of space available.
I think it would be better if there was an extra field in the statfs
structure that reported bdev space available, and have it show up
as an extra (optional) column in the df report.
The problem is that bdev space available could be highly variable.
For example, suppose you had a few thousand users all sharing thinly
provisioned space. If a whole bunch of users suddenly all start using
space, the available space at the storage layer could suddenly
plummet. And if the available space starts getting low, this might trigger
automated, central fstrims on all of the volumes, causing the free
space to go back up.
Having the free space on a file system as reported by df go up and
down randomly would very likely cause users to get very confused
and upset, especially when it wasn't under their control. Even for a
single user system the free space in tmpfs could go down suddenly when
some huge process suddenly started, and then go up suddenly when that
process gets OOM-killed. :-)
- Ted
Powered by blists - more mailing lists