On Wed, Jan 08, 2025 at 05:39:33PM +0800, Ming Lei wrote: > On Wed, Jan 08, 2025 at 10:09:12AM +0100, Christoph Hellwig wrote: > > On Wed, Jan 08, 2025 at 04:13:01PM +0800, Ming Lei wrote: > > > It is backed by virtual memory, which can be big enough because of swap, and > > > > Good luck getting half way decent performance out of swapping for a 50TB > > data set. Or even a partially filled one which really is the use case > > here so it might only be a TB or so. > > > > > it is also easy to extend to file backed support since zloop doesn't store > > > zone meta data, which is similar to ram backed zoned actually. > > > > No, zloop does store write point in the file sizse of each zone. That's > > sorta the whole point becauce it enables things like mount and even > > power fail testing. > > > > All of this is mentioned explicitly in the commit logs, documentation and > > code comments, so claiming something else here feels a bit uninformed. > > OK, looks one smart idea. > > It is easy to extend rublk/zoned in this way with io_uring io emulation, :-) Here it is: https://github.com/ublk-org/rublk/commits/file-backed-zoned/ Top two commits implement the feature by command line `--path $zdir`: [rublk]# git diff --stat=80 HEAD^^... src/zoned.rs | 397 +++++++++++++++++++++++++++++++++++++++++++++++---------- tests/basic.rs | 49 ++++--- 2 files changed, 363 insertions(+), 83 deletions(-) It takes 280 new LoC: - support both ram-back and file-back - completely async io_uring IO emulation for zoned read/write IO - include selftest code for running mkfs.btrfs/mount/read & write IO/umount Thanks, Ming