diff options
| author | Li Zefan <[email protected]> | 2011-03-28 02:01:25 +0000 |
|---|---|---|
| committer | Chris Mason <[email protected]> | 2011-04-05 05:20:24 +0000 |
| commit | 08fe4db170b4193603d9d31f40ebaf652d07ac9c (patch) | |
| tree | 2d0d2abe40b77266600653e399d4973a679716a9 /drivers/mtd/lpddr/lpddr_cmds.c | |
| parent | btrfs: clear __GFP_FS flag in the space cache inode (diff) | |
| download | kernel-08fe4db170b4193603d9d31f40ebaf652d07ac9c.tar.gz kernel-08fe4db170b4193603d9d31f40ebaf652d07ac9c.zip | |
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: Andreas Philipp <[email protected]>
Signed-off-by: Li Zefan <[email protected]>
Tested-by: Andreas Philipp <[email protected]>
cc: [email protected]
Signed-off-by: Chris Mason <[email protected]>
Diffstat (limited to 'drivers/mtd/lpddr/lpddr_cmds.c')
0 files changed, 0 insertions, 0 deletions
