Skip to content
Commit 08fe4db1 authored by Li Zefan's avatar Li Zefan Committed by Chris Mason
Browse files

Btrfs: Fix uninitialized root flags for subvolumes



root_item->flags and root_item->byte_limit are not initialized when
a subvolume is created. This bug is not revealed until we added
readonly snapshot support - now you mount a btrfs filesystem and you
may find the subvolumes in it are readonly.

To work around this problem, we steal a bit from root_item->inode_item->flags,
and use it to indicate if those fields have been properly initialized.
When we read a tree root from disk, we check if the bit is set, and if
not we'll set the flag and initialize the two fields of the root item.

Reported-by: default avatarAndreas Philipp <philipp.andreas@gmail.com>
Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
Tested-by: default avatarAndreas Philipp <philipp.andreas@gmail.com>
cc: stable@kernel.org
Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent adae52b9
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment