On 2020/6/24 上午2:50, David Sterba wrote:
> Estimated time of removal of the functionality is 5.11, the option will
> be still parsed but not doing anything.
Great that we don't need to test for a mount option that no one really uses.
>
> 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 4b9465cb9e38 ("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
What about "btrfs rescue remove-deprecated-feature inode_cache"?
I really don't want kernel to do the hassle.
Thanks,
Qu
>
> Signed-off-by: David Sterba <dsterba@xxxxxxxx>
> ---
> fs/btrfs/super.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
> index 98fe2a634c70..3f1abbeef66c 100644
> --- a/fs/btrfs/super.c
> +++ b/fs/btrfs/super.c
> @@ -827,6 +827,8 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options,
> }
> break;
> case Opt_inode_cache:
> + btrfs_warn(info,
> + "the 'inode_cache' option is deprecated and will be stop working in 5.11");
> btrfs_set_pending_and_info(info, INODE_MAP_CACHE,
> "enabling inode map caching");
> break;
>
Attachment:
signature.asc
Description: OpenPGP digital signature
