• D
    btrfs: start deprecation of mount option inode_cache · b547a88e
    David Sterba 提交于
    Estimated time of removal of the functionality is 5.11, the option will
    be still parsed but will have no effect.
    
    Reasons for deprecation and removal:
    
    - very poor naming choice of the mount option, it's supposed to cache
      and reuse the inode _numbers_, but it sounds a some generic cache for
      inodes
    
    - the only known usecase where this option would make sense is on a
      32bit architecture where inode numbers in one subvolume would be
      exhausted due to 32bit inode::i_ino
    
    - the cache is stored on disk, consumes space, needs to be loaded and
      written back
    
    - new inode number allocation is slower due to lookups into the cache
      (compared to a simple increment which is the default)
    
    - uses the free-space-cache code that is going to be deprecated as well
      in the future
    
    Known problems:
    
    - since 2011, returning EEXIST when there's not enough space in a page
      to store all checksums, see commit 4b9465cb ("Btrfs: add mount -o
      inode_cache")
    
    Remaining issues:
    
    - if the option was enabled, new inodes created, the option disabled
      again, the cache is still stored on the devices and there's currently
      no way to remove it
    Signed-off-by: NDavid Sterba <dsterba@suse.com>
    b547a88e
super.c 67.9 KB