From: "Theodore Ts'o" <tytso@mit.edu>
To: Jeremiah Mahler <jmmahler@gmail.com>, linux-kernel@vger.kernel.org
Subject: Re: [BUG, bisect] hang when copying large file to disc
Date: Sat, 31 Jan 2015 21:02:30 -0500 [thread overview]
Message-ID: <20150201020230.GA3070@thunk.org> (raw)
In-Reply-To: <20150131034051.GA1289@hudson.localdomain>
On Fri, Jan 30, 2015 at 07:40:51PM -0800, Jeremiah Mahler wrote:
>
> If a large file (> 1 GB) is transferred from a USB stick or a mmc
> to an local disc (using ext4), it will proceed normally until it
> has transferred approximately 600 MB. Then the speed will drop off
> to zero and the terminal performing the operation will usually
> hang. And sometimes other terminals will hang as well. A reboot
> is required to get the system working again.
>
> mount /dev/sdb1 /mnt
> pv /mnt/large_file > large_file_out
> (... ~600 MB ... hang)
>
> I have performed a bisect and found that commit ef39794651347 introduced
> the bug. This commit is present in the latest -next 20150130.
Thanks for the bug report. I was able to reproduce the problem, and
found the problem. Unfortunately I accidentally introduce this in my
most recent patchset. I'll fix it up, but here is the patch until I
get the a new version pushed out.
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 82c2984..0046861 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -1192,9 +1192,9 @@ void __mark_inode_dirty(struct inode *inode, int flags)
trace_writeback_dirty_inode(inode, flags);
}
- dirtytime = flags & I_DIRTY_TIME;
if (flags & I_DIRTY_INODE)
flags &= ~I_DIRTY_TIME;
+ dirtytime = flags & I_DIRTY_TIME;
/*
* Paired with smp_mb() in __writeback_single_inode() for the
- Ted
next prev parent reply other threads:[~2015-02-01 2:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-31 3:40 Jeremiah Mahler
2015-02-01 2:02 ` Theodore Ts'o [this message]
2015-02-01 19:30 ` Jeremiah Mahler
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=20150201020230.GA3070@thunk.org \
--to=tytso@mit.edu \
--cc=jmmahler@gmail.com \
--cc=linux-kernel@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
Powered by JetHome