From: "Rüdiger Meier" <sweet_f_a@gmx.de>
To: linux-nfs@vger.kernel.org
Subject: Re: infinite getdents64 loop
Date: Sat, 28 May 2011 17:00:29 +0200 [thread overview]
Message-ID: <201105281700.30726.sweet_f_a@gmx.de> (raw)
In-Reply-To: <201105281502.32719.sweet_f_a@gmx.de>
On Saturday 28 May 2011, Rüdiger Meier wrote:
> I could track down the problem to:
>
> commit 0b26a0bf6ff398185546432420bb772bcfdf8d94
> Author: Trond Myklebust <Trond.Myklebust@netapp.com>
> Date: Sat Nov 20 14:26:44 2010 -0500
>
> NFS: Ensure we return the dirent->d_type when it is known
>
>
> After reverting the problem is gone.
Actually it's enough to remove d_type from struct nfs_cache_array_entry
again. It's not enough to set it DT_UNKNOWN always. I had to remove it
from struct to let it work.
Tested with kernels 2.6.37.6 and 2.6.39.
commit c9799af304af2a22acffaae25e7e9c3b733a5b68
Author: Ruediger Meier <ruediger.meier@ga-group.nl>
Date: Sat May 28 15:26:15 2011 +0200
hotfix, opensuse bug 678123
this reverts the effect of 0b26a0bf
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 7237672..48cfc27 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -202,7 +202,6 @@ struct nfs_cache_array_entry {
u64 cookie;
u64 ino;
struct qstr string;
- unsigned char d_type;
};
struct nfs_cache_array {
@@ -305,7 +304,6 @@ int nfs_readdir_add_to_array(struct nfs_entry
*entry, struct page *page)
cache_entry->cookie = entry->prev_cookie;
cache_entry->ino = entry->ino;
- cache_entry->d_type = entry->d_type;
ret = nfs_readdir_make_qstr(&cache_entry->string, entry->name,
entry->len);
if (ret)
goto out;
@@ -770,7 +768,7 @@ int nfs_do_filldir(nfs_readdir_descriptor_t *desc,
void *dirent,
ent = &array->array[i];
if (filldir(dirent, ent->string.name, ent->string.len,
file->f_pos, nfs_compat_user_ino64(ent->ino),
- ent->d_type) < 0) {
+ DT_UNKNOWN) < 0) {
desc->eof = 1;
break;
}
next prev parent reply other threads:[~2011-05-28 15:00 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-28 13:02 infinite getdents64 loop Rüdiger Meier
2011-05-28 15:00 ` Rüdiger Meier [this message]
2011-05-29 16:05 ` Trond Myklebust
2011-05-29 16:55 ` Rüdiger Meier
2011-05-29 17:04 ` Trond Myklebust
[not found] ` <1306688643.2386.24.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
2011-05-30 9:37 ` Ruediger Meier
2011-05-30 11:59 ` Jeff Layton
2011-05-30 12:42 ` Ruediger Meier
2011-05-30 14:58 ` Trond Myklebust
2011-05-31 9:47 ` Rüdiger Meier
2011-05-31 10:18 ` Bernd Schubert
2011-05-31 12:35 ` Ted Ts'o
2011-05-31 17:07 ` Bernd Schubert
2011-05-31 17:13 ` Boaz Harrosh
2011-05-31 17:30 ` Bernd Schubert
2011-06-01 13:10 ` Boaz Harrosh
2011-06-01 16:15 ` Trond Myklebust
2011-05-31 17:26 ` Andreas Dilger
2011-05-31 17:43 ` Bernd Schubert
2011-05-31 19:16 ` Andreas Dilger
2011-05-31 14:51 ` Bryan Schumaker
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=201105281700.30726.sweet_f_a@gmx.de \
--to=sweet_f_a@gmx.de \
--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 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).