All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: linux-xfs@kernel.org
Subject: [Bug 201259] [xfstests shared/010]: maybe pagecache contents is mutated after cycle mount
Date: Tue, 02 Oct 2018 16:24:09 +0000	[thread overview]
Message-ID: <bug-201259-201763-KMBb066UgD@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-201259-201763@https.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=201259

--- Comment #3 from Eric Sandeen (sandeen@sandeen.net) ---
Here's a slightly simpler test on smaller, block boundaries:

xfs_io -f -c "pwrite -S 0x72 0 4096" $DONOR1
xfs_io -f -c "pwrite -S 0x52 0 4096" $DONOR2

xfs_io -f \
        -c "falloc -k 8192 4096"        \
        -c "reflink $DONOR1 0 4096 4096" \
        -c "pwrite -S 0x57 65536 8192" \
        -c "fdatasync" \
        -c "reflink $DONOR2 0 131072 4096" \
                $TARGET

By block, it does these operations, all within 32 blocks:

          11111111112222222222333
012345678901234567890123456789012
   P
 R
                WW
                                R
P = preallocate
R = reflink
W = write

What we should get out is:

HRPHHHHHHHHHHHHHWWHHHHHHHHHHHHHHR

H = Hole

What we do get out is:

HRPHHHHHHHHHHHHHWWSSSSSSSSSSSSSSR

S = Stale

The extents:

 EXT: FILE-OFFSET      BLOCK-RANGE      AG AG-OFFSET        TOTAL FLAGS
   0: [0..7]:          hole                                     8
   1: [8..15]:         112..119          0 (112..119)           8 100000
   2: [16..23]:        104..111          0 (104..111)           8 010000
   3: [24..127]:       hole                                   104
   4: [128..255]:      216..343          0 (216..343)         128 000000
   5: [256..263]:      120..127          0 (120..127)           8 100000

are lined up as (chars represent hole/reflink/prealloc/written/stale)

 H  R  P  HHHHHHHHHHHHH  WWSSSSSSSSSSSSSS  R
[E][E][E][      E      ][        E       ][E]

So the 5th extent is what has exposed the stale data, with written data only in
the first 2 blocks and another 14 blocks exposed up to the next reflinked
block.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

  parent reply	other threads:[~2018-10-02 23:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-28  6:06 [Bug 201259] New: [xfstests shared/010]: maybe pagecache contents is mutated after cycle mount bugzilla-daemon
2018-10-02 13:53 ` [Bug 201259] " bugzilla-daemon
2018-10-02 13:54 ` bugzilla-daemon
2018-10-02 16:24 ` bugzilla-daemon [this message]
2018-10-02 16:28 ` bugzilla-daemon
2018-10-02 16:37 ` bugzilla-daemon
2018-11-03  3:05 ` bugzilla-daemon
2018-11-03  3:11 ` bugzilla-daemon
2018-11-05 22:44 ` bugzilla-daemon
2018-11-06  3:14 ` bugzilla-daemon

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=bug-201259-201763-KMBb066UgD@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@bugzilla.kernel.org \
    --cc=linux-xfs@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.