On Fri, Feb 14, 2025 at 07:22:52AM +0100, Christoph Hellwig wrote: > On Thu, Feb 13, 2025 at 03:05:58PM -0800, Darrick J. Wong wrote: > > > we'll need a space allocation for every write in an out of tree write > > > file system. But -ENOSPC (or SIGBUS for the lovers of shared mmap > > > based I/O :)) on writes is very much expected. On truncate a lot less > > > so. In fact not dipping into the reserved pool here for example breaks > > > rocksdb workloads. > > > > It occurs to me that regular truncate-down on a shared block can also > > return ENOSPC if the filesystem is completely out of space. Though I > > guess in that case, at least df will say that nearly zero space is > > available, whereas for zoned storage we might have plenty of free space > > that simply isn't available right now... right? > > That's part of it, yes as we can't kick GC. That reason will go away > if/when the VFS locking for truncates is fixed. But I also doubt people > run nasty workloads on reflinked files all that much. <nod> The nasty reflink workloads are mostly disk images, and those aren't getting small truncations. --D