On Tue, Jan 16, 2018 at 10:34 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote: > On Wed, Jan 17, 2018 at 05:15:33PM +1100, Dave Chinner wrote: >> IOWs, you're chasing a goal (100% reproducable filesystem images) >> that simply cannot be acheived via writing files through a >> kernel-based filesystem.... > > That said, we do have a mechanism for populating XFS filesystems > from userspace in a manner that we may be able to make deterministic > enough for reproducable image file creation: the mkfs.xfs protofile > infrastructure. That runs from mkfs in userspace, and creates the > directory structure and files specified in the protofile. There's > nothing that runs concurrently with this, it will always run the > creation operations in the same order, and I think we could > extend it to specify a global timestamp for all inodes and solve > that problem too. > > The protofile infrastructure uses the kernel allocation code which > we already know is deterministic (i.e. gives the same allocation > results for the same operations if the initial state is the same) > and so we can probably get very close to 100% reproducable > filesystem image through this mechanism. > > It's need some work and extensions to provide everything that is > needed in a reliable manner, and a bunch of regression tests > added to fstests to make sure it works and keeps working. If you > want to stick with XFS as the base filesystem for your images, this > may be the best way to proceed.... Wow, thank you very much for all that information! I'm starting to see that I've been approaching this problem from the wrong angle. It sounds like in the long run I should look at other filesystems more suitable/amenable to this kind of thing. The protofile infrastructure, however, sounds really interesting. I've not encountered it before, but the documentation for it makes me agree with your assessment. I'll spend more time looking at all the information everyone provided on this thread. It sounds like there are a few decisions ahead of us :) > > Cheers, > > Dave. > -- > Dave Chinner > david@xxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html