From: Eryu Guan <eguan@redhat.com>
To: linux-nfs@vger.kernel.org
Cc: Olga Kornievskaia <kolga@netapp.com>
Subject: [4.12-rc1 regression] copy_file_range(2) stuck in infinite loop
Date: Tue, 16 May 2017 22:09:55 +0800 [thread overview]
Message-ID: <20170516140955.GZ7250@eguan.usersys.redhat.com> (raw)
Hi all,
fstests test generic/430 would hang when testing NFSv4.2 using 4.12-rc1
kernel based client. And this is a regression, 4.11 kernel has no
problem. A simple reproducer is like:
# mount -t nfs -o vers=4.2 nfs-server:/export /mnt/nfs
# xfs_io -fc "pwrite 0 4k" /mnt/nfs/testfile
# xfs_io -fc "copy_range /mnt/nfs/testfile" /mnt/nfs/testfile.copy
The last copy_range command never returns, and xfs_io process is in D
state. Some kernel debug code shows that it stuck in infinite loop in
nfs42_proc_copy(), _nfs42_proc_copy() always returns -EAGAIN.
So this looks like a problem introduced by this commit
commit e092693443b995c8e3a565a73b5fdb05f1260f9b
Author: Olga Kornievskaia <kolga@netapp.com>
Date: Mon May 8 18:02:24 2017 -0400
NFS append COMMIT after synchronous COPY
Instead of messing with the commit path which has been causing issues,
add a COMMIT op after the COPY and ask for stable copies in the first
space.
It saves a round trip, since after the COPY, the client sends a COMMIT
anyway.
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Reverting this patch did solve the problem. If you need more info please
let me know.
Thanks,
Eryu
next reply other threads:[~2017-05-16 14:10 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-16 14:09 Eryu Guan [this message]
2017-05-16 15:59 ` [4.12-rc1 regression] copy_file_range(2) stuck in infinite loop Olga Kornievskaia
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=20170516140955.GZ7250@eguan.usersys.redhat.com \
--to=eguan@redhat.com \
--cc=kolga@netapp.com \
--cc=linux-nfs@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 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.