From: Gabriel de Perthuis <g2p.code@gmail.com>
To: Mark Fasheh <mfasheh@suse.de>, linux-btrfs@kernel.org
Subject: Re: [PATCH 3/4] btrfs: Introduce extent_read_full_page_nolock()
Date: Tue, 07 May 2013 09:33:20 +0200 [thread overview]
Message-ID: <5188AE40.4030602@gmail.com> (raw)
In-Reply-To: <1366150535-18750-1-git-send-email-mfasheh@suse.de>
> We want this for btrfs_extent_same. Basically readpage and friends do their
> own extent locking but for the purposes of dedupe, we want to have both
> files locked down across a set of readpage operations (so that we can
> compare data). Introduce this variant and a flag which can be set for
> extent_read_full_page() to indicate that we are already locked.
This one can get stuck in TASK_UNINTERRUPTIBLE:
[32129.522257] SysRq : Show Blocked State
[32129.524337] task PC stack pid father
[32129.526515] python D ffff88021f394280 0 16281 1 0x00000004
[32129.528656] ffff88020e079a48 0000000000000082 ffff88013d3cdd40 ffff88020e079fd8
[32129.530840] ffff88020e079fd8 ffff88020e079fd8 ffff8802138dc5f0 ffff88013d3cdd40
[32129.533044] 0000000000000000 0000000000001fff ffff88015286f440 0000000000000008
[32129.535285] Call Trace:
[32129.537522] [<ffffffff816dcca9>] schedule+0x29/0x70
[32129.539829] [<ffffffffa02b4908>] wait_extent_bit+0xf8/0x150 [btrfs]
[32129.542130] [<ffffffff8107ea00>] ? finish_wait+0x80/0x80
[32129.544463] [<ffffffffa02b4f84>] lock_extent_bits+0x44/0xa0 [btrfs]
[32129.546824] [<ffffffffa02b4ff3>] lock_extent+0x13/0x20 [btrfs]
[32129.549198] [<ffffffffa02dc0cf>] add_ra_bio_pages.isra.8+0x17f/0x2d0 [btrfs]
[32129.551602] [<ffffffffa02dccfc>] btrfs_submit_compressed_read+0x25c/0x4c0 [btrfs]
[32129.554028] [<ffffffffa029d131>] btrfs_submit_bio_hook+0x1d1/0x1e0 [btrfs]
[32129.556457] [<ffffffffa02b2d07>] submit_one_bio+0x67/0xa0 [btrfs]
[32129.558899] [<ffffffffa02b7ecd>] extent_read_full_page_nolock+0x4d/0x60 [btrfs]
[32129.561290] [<ffffffffa02c8052>] fill_data+0xb2/0x230 [btrfs]
[32129.563623] [<ffffffffa02cd57e>] btrfs_ioctl+0x1f7e/0x2560 [btrfs]
[32129.565924] [<ffffffff816ddbae>] ? _raw_spin_lock+0xe/0x20
[32129.568207] [<ffffffff8119b907>] ? inode_get_bytes+0x47/0x60
[32129.570472] [<ffffffff811a8297>] do_vfs_ioctl+0x97/0x560
[32129.572700] [<ffffffff8119bb5a>] ? sys_newfstat+0x2a/0x40
[32129.574882] [<ffffffff811a87f1>] sys_ioctl+0x91/0xb0
[32129.577008] [<ffffffff816e64dd>] system_call_fastpath+0x1a/0x1f
Side note, I wish btrfs used TASK_KILLABLE[1] instead.
[1]: https://lwn.net/Articles/288056/
next prev parent reply other threads:[~2013-05-07 7:34 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-16 22:15 [PATCH 0/4] [RFC] btrfs: offline dedupe Mark Fasheh
2013-04-16 22:15 ` [PATCH 1/4] btrfs: abtract out range locking in clone ioctl() Mark Fasheh
2013-04-16 22:15 ` [PATCH 2/4] btrfs_ioctl_clone: Move clone code into it's own function Mark Fasheh
2013-04-16 22:15 ` [PATCH 3/4] btrfs: Introduce extent_read_full_page_nolock() Mark Fasheh
2013-05-06 12:38 ` David Sterba
2013-04-16 22:15 ` [PATCH 4/4] btrfs: offline dedupe Mark Fasheh
2013-05-06 12:36 ` David Sterba
2013-04-16 22:50 ` [PATCH 0/4] [RFC] " Marek Otahal
2013-04-16 23:17 ` Mark Fasheh
2013-04-17 4:00 ` Liu Bo
2013-04-20 15:49 ` Gabriel de Perthuis
2013-04-21 20:02 ` Mark Fasheh
2013-04-22 8:56 ` Gabriel de Perthuis
2013-05-07 7:33 ` Gabriel de Perthuis [this message]
2013-05-09 21:31 ` [PATCH 3/4] btrfs: Introduce extent_read_full_page_nolock() Gabriel de Perthuis
-- strict thread matches above, loose matches on Subject: below --
2013-05-21 18:28 [PATCH 0/4] btrfs: offline dedupe v1 Mark Fasheh
2013-05-21 18:28 ` [PATCH 3/4] btrfs: Introduce extent_read_full_page_nolock() Mark Fasheh
2013-06-11 20:31 [PATCH 0/4] btrfs: offline dedupe v2 Mark Fasheh
2013-06-11 20:31 ` [PATCH 3/4] btrfs: Introduce extent_read_full_page_nolock() Mark Fasheh
2013-07-26 16:30 [PATCH 0/4] btrfs: offline dedupe v3 Mark Fasheh
2013-07-26 16:30 ` [PATCH 3/4] btrfs: Introduce extent_read_full_page_nolock() Mark Fasheh
2013-08-06 18:42 [PATCH 0/4] btrfs: out-of-band (aka offline) dedupe v4 Mark Fasheh
2013-08-06 18:42 ` [PATCH 3/4] btrfs: Introduce extent_read_full_page_nolock() Mark Fasheh
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=5188AE40.4030602@gmail.com \
--to=g2p.code@gmail.com \
--cc=linux-btrfs@kernel.org \
--cc=mfasheh@suse.de \
/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).