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.