Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:lafenghu
btrfsprogs
0162-btrfsck-make-sure-to-dirty-all-block-group...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0162-btrfsck-make-sure-to-dirty-all-block-groups-as-we-fi.patch of Package btrfsprogs
From 494ba283ed46df812d56652d6ccc1b548bb5fe17 Mon Sep 17 00:00:00 2001 From: Chris Mason <chris.mason@oracle.com> Date: Thu, 9 Feb 2012 09:29:19 -0500 Subject: [PATCH 11/18] btrfsck: make sure to dirty all block groups as we fix accounting The code that corrects the count of bytes used in each block group was only marking block groups dirty when they contained extents. This fixes things to dirty all the block groups, so any empty block groups are written with their correct (zero) count. Signed-off-by: Chris Mason <chris.mason@oracle.com> --- extent-tree.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/extent-tree.c b/extent-tree.c index 544ab2f..5c4057e 100644 --- a/extent-tree.c +++ b/extent-tree.c @@ -3378,6 +3378,8 @@ int btrfs_fix_block_accounting(struct btrfs_trans_handle *trans, struct btrfs_block_group_cache *cache; struct btrfs_fs_info *fs_info = root->fs_info; + root = root->fs_info->extent_root; + while(1) { cache = btrfs_lookup_block_group(fs_info, start); if (!cache) @@ -3385,6 +3387,10 @@ int btrfs_fix_block_accounting(struct btrfs_trans_handle *trans, start = cache->key.objectid + cache->key.offset; btrfs_set_block_group_used(&cache->item, 0); cache->space_info->bytes_used = 0; + set_extent_bits(&root->fs_info->block_group_cache, + cache->key.objectid, + cache->key.objectid + cache->key.offset -1, + BLOCK_GROUP_DIRTY, GFP_NOFS); } btrfs_init_path(&path); -- 1.7.6.233.gd79bc
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor