OSDN Git Service

btrfs: make sure SB_I_VERSION doesn't get unset by remount
authorJosef Bacik <josef@toxicpanda.com>
Thu, 30 Jul 2020 15:18:09 +0000 (11:18 -0400)
committerDavid Sterba <dsterba@suse.com>
Mon, 10 Aug 2020 16:58:35 +0000 (18:58 +0200)
commitfaa008899a4db21a2df99833cb4ff6fa67009a20
tree30291d3338c3bb21099a374f9f28fa6dd79adc70
parent4f26433e9b3eb7a55ed70d8f882ae9cd48ba448b
btrfs: make sure SB_I_VERSION doesn't get unset by remount

There's some inconsistency around SB_I_VERSION handling with mount and
remount.  Since we don't really want it to be off ever just work around
this by making sure we don't get the flag cleared on remount.

There's a tiny cpu cost of setting the bit, otherwise all changes to
i_version also change some of the times (ctime/mtime) so the inode needs
to be synced. We wouldn't save anything by disabling it.

Reported-by: Eric Sandeen <sandeen@redhat.com>
CC: stable@vger.kernel.org # 5.4+
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
[ add perf impact analysis ]
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/super.c