On Sat, 2017-08-12 at 00:42 -0700, Christoph Hellwig wrote: > And how are you going to write your data and checksum atomically when > doing in-place updates?
Maybe I misunderstand something, but what's the big deal with not doing it atomically (I assume you mean in terms of actually writing to the pyhsical medium)? Isn't that anyway already a problem in case of a crash? And isn't that the case also with all forms of e.g. software RAID (when not having a journal)? And as I've said, what's the worst thing that can happen? Either the data would not have been completely written - with or without checksumming. Then what's the difference to try the checksumming (and do it successfully in all non crash cases)? My understanding was (but that may be wrong of course, I'm not a filesystem expert at all), that worst that can happen is that data an csum aren't *both* fully written (in all possible combinations), so we'd have four cases in total: data=good csum=good => fine data=bad csum=bad => doesn't matter whether csum or not and whether atomic or not data=bad csum=good => the csum will tell us, that the data is bad data= good csum=bad => the only real problem, data would be actually good, but csum is not
Description: S/MIME cryptographic signature