All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Sterba <dsterba@suse.com>
To: linux-btrfs@vger.kernel.org
Cc: David Sterba <dsterba@suse.com>
Subject: [PATCH 2/6] btrfs: move block_group_item::flags to block group
Date: Wed, 23 Oct 2019 18:48:13 +0200	[thread overview]
Message-ID: <6d9dc41164cbe9197375c845f26a5707dfcc4734.1571848791.git.dsterba@suse.com> (raw)
In-Reply-To: <cover.1571848791.git.dsterba@suse.com>

The flags are read from the item that's embedded to block group struct,
but the item will be removed. Use the ::flags after read and before
write.

Signed-off-by: David Sterba <dsterba@suse.com>
---
 fs/btrfs/block-group.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 4da5e0f6cb82..52e2a05c8345 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -1755,7 +1755,7 @@ int btrfs_read_block_groups(struct btrfs_fs_info *info)
 		/* Duplicate as the item is still partially used */
 		memcpy(&cache->item, &bgi, sizeof(bgi));
 		cache->used = btrfs_block_group_used(&bgi);
-		cache->flags = btrfs_block_group_flags(&cache->item);
+		cache->flags = btrfs_block_group_flags(&bgi);
 		if (!mixed &&
 		    ((cache->flags & BTRFS_BLOCK_GROUP_METADATA) &&
 		    (cache->flags & BTRFS_BLOCK_GROUP_DATA))) {
@@ -1885,6 +1885,7 @@ void btrfs_create_pending_block_groups(struct btrfs_trans_handle *trans)
 		 */
 		memcpy(&item, &block_group->item, sizeof(item));
 		btrfs_set_block_group_used(&item, block_group->used);
+		btrfs_set_block_group_flags(&item, block_group->flags);
 		memcpy(&key, &block_group->key, sizeof(key));
 		spin_unlock(&block_group->lock);
 
@@ -1920,8 +1921,6 @@ int btrfs_make_block_group(struct btrfs_trans_handle *trans, u64 bytes_used,
 	cache->used = bytes_used;
 	btrfs_set_block_group_chunk_objectid(&cache->item,
 					     BTRFS_FIRST_CHUNK_TREE_OBJECTID);
-	btrfs_set_block_group_flags(&cache->item, type);
-
 	cache->flags = type;
 	cache->last_byte_to_unpin = (u64)-1;
 	cache->cached = BTRFS_CACHE_FINISHED;
@@ -2140,6 +2139,7 @@ static int write_one_cache_group(struct btrfs_trans_handle *trans,
 	/* Partial copy of item, update the rest from memory */
 	memcpy(&bgi, &cache->item, sizeof(bgi));
 	btrfs_set_block_group_used(&bgi, cache->used);
+	btrfs_set_block_group_flags(&bgi, cache->flags);
 	write_extent_buffer(leaf, &bgi, bi, sizeof(bgi));
 	btrfs_mark_buffer_dirty(leaf);
 fail:
-- 
2.23.0


  parent reply	other threads:[~2019-10-23 16:48 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-23 16:48 [PATCH 0/6] Block group structure cleanups David Sterba
2019-10-23 16:48 ` [PATCH 1/6] btrfs: move block_group_item::used to block group David Sterba
2019-10-24  8:22   ` Johannes Thumshirn
2019-10-23 16:48 ` David Sterba [this message]
2019-10-24  8:30   ` [PATCH 2/6] btrfs: move block_group_item::flags " Johannes Thumshirn
2019-10-23 16:48 ` [PATCH 3/6] btrfs: remove embedded block_group_cache::item David Sterba
2019-10-24  8:33   ` Johannes Thumshirn
2019-10-23 16:48 ` [PATCH 4/6] btrfs: rename block_group_item on-stack accessors to follow naming David Sterba
2019-10-24  8:34   ` Johannes Thumshirn
2019-10-23 16:48 ` [PATCH 5/6] btrfs: rename extent buffer block group item accessors David Sterba
2019-10-24  8:35   ` Johannes Thumshirn
2019-10-23 16:48 ` [PATCH 6/6] btrfs: add dedicated members for start and length of a block group David Sterba
2019-10-24  9:15   ` Johannes Thumshirn
2019-10-24 12:09   ` Nikolay Borisov
2019-10-24  1:48 ` [PATCH 0/6] Block group structure cleanups Qu Wenruo
2019-10-24 12:09 ` Nikolay Borisov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6d9dc41164cbe9197375c845f26a5707dfcc4734.1571848791.git.dsterba@suse.com \
    --to=dsterba@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.