diff options
author | Dongsheng Yang <yangds.fnst@cn.fujitsu.com> | 2014-11-20 20:14:38 -0500 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2015-04-13 07:52:38 -0700 |
commit | 3eeb4d597efc9e068902057f1bd040cffc69e9e6 (patch) | |
tree | def46e7916335d91c3a70a55d5edcdb5148101b3 | |
parent | c99f1b0c6c45d1621f08afb1352689e24a627844 (diff) | |
download | blackbird-op-linux-3eeb4d597efc9e068902057f1bd040cffc69e9e6.tar.gz blackbird-op-linux-3eeb4d597efc9e068902057f1bd040cffc69e9e6.zip |
btrfs: qgroup: inherit limit info from srcgroup in creating snapshot.
Currently, when we snapshot a subvol, snapshot will not copy the limits
from srcqgroup.
This patch make the qgroup in snapshot inherit the limit info when create
a snapshot.
Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
-rw-r--r-- | fs/btrfs/qgroup.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index 37188c6b408d..34c2753fa4e1 100644 --- a/fs/btrfs/qgroup.c +++ b/fs/btrfs/qgroup.c @@ -2302,6 +2302,14 @@ int btrfs_qgroup_inherit(struct btrfs_trans_handle *trans, dstgroup->excl_cmpr = level_size; srcgroup->excl = level_size; srcgroup->excl_cmpr = level_size; + + /* inherit the limit info */ + dstgroup->lim_flags = srcgroup->lim_flags; + dstgroup->max_rfer = srcgroup->max_rfer; + dstgroup->max_excl = srcgroup->max_excl; + dstgroup->rsv_rfer = srcgroup->rsv_rfer; + dstgroup->rsv_excl = srcgroup->rsv_excl; + qgroup_dirty(fs_info, dstgroup); qgroup_dirty(fs_info, srcgroup); } |