On Sat, Sep 02, 2023 at 01:54:18AM -0400, Sweet Tea Dorminy wrote: > This is a replacement for the former changeset (previously v3). This > doesn't reflect all the smaller feedback on v3: it's an attempt to address > the major points of giving extents and inodes different objects, and to > clearly define lightweight and heavyweight extent contexts. Currently, > with minor changes to the btrfs patchset building on it, it passes > tests. > > Hopefully I understood the proposed alternate design and this is indeed > more elegant, reviewable, and maintainable. > > This applies atop [3], which itself is based on kdave/misc-next. > > Changelog: > RFC: > - Split fscrypt_info into a general fscrypt_common_info, an > inode-specific fscrypt_info, and an extent-specific > fscrypt_extent_info. All external interfaces use either an inode or > extent specific structure; most internal functions handle the common > structure. > - Tried to fix up more places to refer to infos instead of inodes and > files. > - Changed to use lightweight extent contexts containing just a nonce, > and then a following change to do heavyweight extent contexts > identical to inode contexts, so they're easily comparable. > - Dropped factoring lock_master_key() and adding super block pointer to > fscrypt_info changes, as they didn't seem necessary. > - Temporarily dropped optimization where leaf inodes with extents don't > have on-disk fscrypt_contexts. It's a convenient optimization and > affects btrfs disk format, but it's not very big and not strictly > needed to check whether the new structural arrangement is better. I've gone through this, does seem a bit cleaner, and the uses of ->ci_type are limited to the soft deletion part, so the overlapping thing that Eric was worried about seems to be very contained. Eric, I asked Sweet Tea to do a rough run at this to see if this was more in your liking, I specifically told him to get it down and get it out so apologies for the rough edges. What I'm looking for is wether or not this is an acceptable approach, and if there's any other big changes you want to see. If this looks good then Sweet Tea can clean it up and we can hopefully start making progress on the other things. Thanks, Josef