From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: "Edwin Török" <edwin@etorok.net>
Cc: Brian Foster <bfoster@redhat.com>, linux-xfs@vger.kernel.org
Subject: Re: [PATCH v2 0/9] xfs: reflink cleanups
Date: Sun, 28 Jun 2020 15:36:59 -0700 [thread overview]
Message-ID: <20200628223659.GQ7606@magnolia> (raw)
In-Reply-To: <69dc29c4d0f3e80b4a8c8dfc559cbdd5ebce1428.camel@etorok.net>
On Sun, Jun 28, 2020 at 01:06:08PM +0100, Edwin Török wrote:
> On Wed, 2020-06-24 at 18:17 -0700, Darrick J. Wong wrote:
> > Mr. Torok: Could you try applying these patches to a recent kernel to
> > see if they fix the fs crash problems you were seeing with
> > duperemove,
> > please?
>
> Hi,
>
> Thanks for the fix.
>
> I've tested commit e812e6bd89dc6489ca924756635fb81855091700 (reflink-
> cleanups_2020-06-24) with my original test, and duperemove has now
> finished successfully:
>
> [...]
> Comparison of extent info shows a net change in shared extents of:
> 237116676
>
> There were some hung tasks reported in dmesg, but they recovered
> eventually:
> [32142.324709] INFO: task pool:5190 blocked for more than 120 seconds.
> [32504.821571] INFO: task pool:5191 blocked for more than 120 seconds.
> [32625.653640] INFO: task pool:5191 blocked for more than 241 seconds.
> [32746.485671] INFO: task pool:5191 blocked for more than 362 seconds.
> [32867.318072] INFO: task pool:5191 blocked for more than 483 seconds.
> [34196.472677] INFO: task pool:5180 blocked for more than 120 seconds.
> [34317.304542] INFO: task pool:5180 blocked for more than 241 seconds.
> [34317.304627] INFO: task pool:5195 blocked for more than 120 seconds.
> [34438.136740] INFO: task pool:5180 blocked for more than 362 seconds.
> [34438.136816] INFO: task pool:5195 blocked for more than 241 seconds.
>
> The blocked tasks were alternating between these 2 stacktraces:
> [32142.324715] Call Trace:
> [32142.324721] __schedule+0x2d3/0x770
> [32142.324722] schedule+0x55/0xc0
> [32142.324724] rwsem_down_read_slowpath+0x16c/0x4a0
> [32142.324726] ? __wake_up_common_lock+0x8a/0xc0
> [32142.324750] ? xfs_vn_fiemap+0x32/0x80 [xfs]
> [32142.324752] down_read+0x85/0xa0
> [32142.324769] xfs_ilock+0x8a/0x100 [xfs]
> [32142.324784] xfs_vn_fiemap+0x32/0x80 [xfs]
> [32142.324785] do_vfs_ioctl+0xef/0x680
> [32142.324787] ksys_ioctl+0x73/0xd0
> [32142.324788] __x64_sys_ioctl+0x1a/0x20
> [32142.324789] do_syscall_64+0x49/0xc0
> [32142.324790] entry_SYSCALL_64_after_hwframe+0x44/0xa
>
> [32504.821577] Call Trace:
> [32504.821583] __schedule+0x2d3/0x770
> [32504.821584] schedule+0x55/0xc0
> [32504.821587] rwsem_down_write_slowpath+0x244/0x4d0
> [32504.821588] down_write+0x41/0x50
> [32504.821610] xfs_ilock2_io_mmap+0xc8/0x230 [xfs]
> [32504.821628] ? xfs_reflink_remap_blocks+0x11f/0x2a0 [xfs]
> [32504.821643] xfs_reflink_remap_prep+0x51/0x1f0 [xfs]
> [32504.821660] xfs_file_remap_range+0xbe/0x2f0 [xfs]
> [32504.821662] ? security_capable+0x3d/0x60
> [32504.821664] vfs_dedupe_file_range_one+0x12d/0x150
> [32504.821665] vfs_dedupe_file_range+0x156/0x1e0
> [32504.821666] do_vfs_ioctl+0x4a6/0x680
> [32504.821667] ksys_ioctl+0x73/0xd0
> [32504.821668] __x64_sys_ioctl+0x1a/0x20
> [32504.821669] do_syscall_64+0x49/0xc0
> [32504.821670] entry_SYSCALL_64_after_hwframe+0x44/0xa
>
> Looking at /proc/$(pidof duperemove)/fd it had ~80 files open at one
> point, which causes a lot of seeking on a HDD if it was trying to
> dedupe them all at once so I'm not too worried about these hung tasks.
>
> Running an xfs_repair after the duperemove finished showed no errors.
>
> >
> > v2: various cleanups suggested by Brian Foster
> >
> > If you're going to start using this mess, you probably ought to just
> > pull from my git trees, which are linked below.
> >
> > This is an extraordinary way to destroy everything. Enjoy!
>
> To be safe I've created an LVM snapshot before trying it.
Yay! Thank you for testing this out! Sorry it broke in the first
place, though. :/
--D
> Best regards,
> --Edwin
>
prev parent reply other threads:[~2020-06-28 22:37 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-25 1:17 [PATCH v2 0/9] xfs: reflink cleanups Darrick J. Wong
2020-06-25 1:17 ` [PATCH 1/9] xfs: fix reflink quota reservation accounting error Darrick J. Wong
2020-06-25 12:26 ` Brian Foster
2020-07-01 8:07 ` Christoph Hellwig
2020-06-25 1:17 ` [PATCH 2/9] xfs: rename xfs_bmap_is_real_extent to is_written_extent Darrick J. Wong
2020-06-25 12:26 ` Brian Foster
2020-07-01 8:08 ` Christoph Hellwig
2020-06-25 1:17 ` [PATCH 3/9] xfs: redesign the reflink remap loop to fix blkres depletion crash Darrick J. Wong
2020-06-25 12:27 ` Brian Foster
2020-06-25 16:57 ` Darrick J. Wong
2020-06-25 17:23 ` [PATCH v4.2 " Darrick J. Wong
2020-06-26 11:57 ` Brian Foster
2020-06-26 16:40 ` Darrick J. Wong
2020-07-01 8:20 ` Christoph Hellwig
2020-06-25 1:18 ` [PATCH 4/9] xfs: only reserve quota blocks for bmbt changes if we're changing the data fork Darrick J. Wong
2020-06-25 12:27 ` Brian Foster
2020-07-01 8:21 ` Christoph Hellwig
2020-06-25 1:18 ` [PATCH 5/9] xfs: only reserve quota blocks if we're mapping into a hole Darrick J. Wong
2020-06-25 12:28 ` Brian Foster
2020-07-01 8:22 ` Christoph Hellwig
2020-06-25 1:18 ` [PATCH 6/9] xfs: reflink can skip remap existing mappings Darrick J. Wong
2020-06-25 12:28 ` Brian Foster
2020-06-25 16:49 ` Darrick J. Wong
2020-06-25 1:18 ` [PATCH 7/9] xfs: fix xfs_reflink_remap_prep calling conventions Darrick J. Wong
2020-07-01 8:23 ` Christoph Hellwig
2020-06-25 1:18 ` [PATCH 8/9] xfs: refactor locking and unlocking two inodes against userspace IO Darrick J. Wong
2020-07-01 8:26 ` Christoph Hellwig
2020-06-25 1:18 ` [PATCH 9/9] xfs: move helpers that lock and unlock " Darrick J. Wong
2020-07-01 8:27 ` Christoph Hellwig
2020-06-28 12:06 ` [PATCH v2 0/9] xfs: reflink cleanups Edwin Török
2020-06-28 22:36 ` Darrick J. Wong [this message]
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=20200628223659.GQ7606@magnolia \
--to=darrick.wong@oracle.com \
--cc=bfoster@redhat.com \
--cc=edwin@etorok.net \
--cc=linux-xfs@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