linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Qu Wenruo <wqu@suse.com>
To: linux-btrfs@vger.kernel.org
Cc: dsterba@suse.cz
Subject: [PATCH 11/11] btrfs-progs: fsck-tests: Introduce test case with keyed data backref with shared tree blocks
Date: Wed, 22 Nov 2017 17:03:25 +0800	[thread overview]
Message-ID: <20171122090325.29458-12-wqu@suse.com> (raw)
In-Reply-To: <20171122090325.29458-1-wqu@suse.com>

For snapshot shared tree blocks with source subvolume, the keyed backref
counter only counts the exclusive owned references.

In the following case, 258 is a snapshot of 257, which inherits all the
reference to this data extent.
------
        item 4 key (12582912 EXTENT_ITEM 524288) itemoff 3741 itemsize 140
                refs 179 gen 9 flags DATA
                extent data backref root 257 objectid 258 offset 0 count 49
                extent data backref root 257 objectid 257 offset 0 count 1
                extent data backref root 256 objectid 258 offset 0 count 128
                extent data backref root 256 objectid 257 offset 0 count 1
------

However lowmem mode used to iterate the whole inode to find all
reference, and doesn't care if the reference is already counted by the
shared tree block.

And the test case to check it.

Signed-off-by: Qu Wenruo <wqu@suse.com>
---
 .../keyed_data_ref_with_shared_leaf.img                 | Bin 0 -> 19456 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_with_shared_leaf.img

diff --git a/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_with_shared_leaf.img b/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_with_shared_leaf.img
new file mode 100644
index 0000000000000000000000000000000000000000..2ce5068f01c693e577de8b9a536fdeb360029e5f
GIT binary patch
literal 19456
zcmeIZby!qi_c%IqrzoHxp-8usbaw~{2q>i>jevj>LkLJHC?E*Z-5?;%01|@IAkra7
zNq5Zbdj|Zx@AuyOzR&&seV^YvGv}<?XYF;?UbWZS`<w{tIM;a=(?;0e4>fegIR8Qb
z65U9Si9W){(1$b`^bz(FeIS>C@L;e^^r86zc0t3l7qBfZ1k1>t<G}DCxL^JpR>X#2
zK817m9UcUiDV@VlArQu=d=3Ym!z$;nJsLJwJ%^dltZZGt=QuiQ=j~%uP<y}TIqZnW
zm(e<hrO-$J3)l$Vx9kEQM7Pggz=(59?ek+07P{{R9D!~zzkrL-JpZ51|B=A||0Liw
z9?^UF#<CgfrPKPc`{H}U7Wa<h&)5I>wG$IZnm<*_^J$1t)-iTz;3d<L50q9=^CyUZ
zOK1K`24ACG7RTZ@KYrT0!cC#&W{Q$9iY{0J4l$_)4emV7Nz$#XqhL|iKX7Y0tMwW|
zoT0TF*UmyQQ{G;M_1`?eW}1iH`p~b>XQBEnl9)}E%0AGF1}D>;Dl+gcAE8o98WwJJ
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
a<ptx1ajMl8PZUr%pJqv*M<@T+pZ^P)Oh4@a

literal 0
HcmV?d00001

-- 
2.15.0


  parent reply	other threads:[~2017-11-22  9:04 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-22  9:03 [PATCH 00/11] Lowmem mode btrfs fixes exposed by complex tree Qu Wenruo
2017-11-22  9:03 ` [PATCH 01/11] btrfs-progs: lowmem check: Fix regression which screws up extent allocator Qu Wenruo
2017-11-22  9:03 ` [PATCH 02/11] btrfs-progs: lowmem check: Fix NULL pointer access caused by large tree reloc tree Qu Wenruo
2017-11-22  9:03 ` [PATCH 03/11] btrfs-progs: lowmem check: Fix inlined data extent ref lookup Qu Wenruo
2017-11-22  9:03 ` [PATCH 04/11] btrfs-progs: lowmem check: Fix false backref lost warning for keyed extent data ref Qu Wenruo
2017-11-22  9:03 ` [PATCH 05/11] btrfs-progs: fsck-test: Introduce test case for false data extent backref lost Qu Wenruo
2017-11-22  9:03 ` [PATCH 06/11] btrfs-progs: backref: Allow backref walk to handle direct parent ref Qu Wenruo
2017-11-22  9:03 ` [PATCH 07/11] btrfs-progs: lowmem check: Fix function call stack overflow caused by wrong tree reloc tree detection Qu Wenruo
2017-11-22  9:03 ` [PATCH 08/11] btrfs-progs: lowmem check: Fix false alerts for image with shared block ref only backref Qu Wenruo
2017-11-22  9:03 ` [PATCH 10/11] btrfs-progs: lowmem check: Fix false alerts of referencer count mismatch for snapshot Qu Wenruo
2017-11-22  9:03 ` Qu Wenruo [this message]
2017-11-24 14:46 ` [PATCH 00/11] Lowmem mode btrfs fixes exposed by complex tree David Sterba

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=20171122090325.29458-12-wqu@suse.com \
    --to=wqu@suse.com \
    --cc=dsterba@suse.cz \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).