From: Txema Heredia Genestar <txema.heredia@upf.edu>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: linux-nfs@vger.kernel.org
Subject: Re: NFSv4 memory allocation bug?
Date: Thu, 13 Jan 2011 18:25:23 +0100 [thread overview]
Message-ID: <4D2F3583.8090502@upf.edu> (raw)
In-Reply-To: <20110113161913.GG20946@fieldses.org>
El 13/01/11 17:19, J. Bruce Fields escribió:
> On Thu, Jan 13, 2011 at 04:48:26PM +0100, Txema Heredia Genestar wrote:
>> Hi Bruce, thanks for your answer
>>
>>
>> El 12/01/11 19:35, J. Bruce Fields escribió:
>>> On Wed, Jan 12, 2011 at 06:14:53PM +0100, Txema Heredia Genestar wrote:
>>>> Additionally, I have checked tcpdump and found, when mounting an
>>>> NFS4 drive from a working storage-system:
>>>> ...
>>>> 12:38:06.372303 IP client.907> storage.nfs: . ack 29 win 46
>>>> <nop,nop,timestamp 4063464822 174132214>
>>>> 12:38:06.372429 IP client.2364980656> storage.nfs: 148 getattr [|nfs]
>>>> 12:38:06.372792 IP storage.nfs> client.2364980656: reply ok 248
>>>> getattr [|nfs]
>>>> 12:38:06.372958 IP client.2381757872> storage.nfs: 172 getattr [|nfs]
>>>> 12:38:06.373132 IP storage.nfs> client.2381757872: reply ok 88
>>>> getattr [|nfs]
>>>> 12:38:06.373157 IP client.2398535088> storage.nfs: 176 getattr [|nfs]
>>>> 12:38:06.373316 IP storage.nfs> client.2398535088: reply ok 100
>>>> getattr [|nfs]
>>>> 12:38:06.373339 IP client.2415312304> storage.nfs: 172 getattr [|nfs]
>>>>
>>>>
>>>> But when I mount from the same client, the NFS4 share from my server
>>>> gets stuck on the "getattr" call
>>>> ...
>>>> 12:36:37.051840 IP client.926> server.nfs: . ack 29 win 140
>>>> <nop,nop,timestamp 4063375488 434039929>
>>>> 12:36:37.051903 IP client.1734362088> server.nfs: 148 getattr [|nfs]
>>>> 12:36:37.090274 IP server.nfs> client.926: . ack 192 win 4742
>>>> <nop,nop,timestamp 434039939 4063375488>
>>>> ---silence---
>>> Something like wireshark would give a few more details.
>> I have wiresharked it and I don't see any differences between the
>> "getattr" packages in both cases. Do you want me to paste them in a
>> specific format?
> I'm curious which attributes were requested. In particular, is the
> unreplied-to getattr the *first* time that the client requests the owner
> or owner_group attributes?
>
Yes, the "unreplied-to" getattr call is the very first (and only) time
it those are requested:
Network File System
[Program Version: 4]
[V4 Procedure: COMPOUND (1)]
Tag: <EMPTY>
length: 0
contents: <EMPTY>
minorversion: 0
Operations (count: 3)
Opcode: PUTROOTFH (24)
Opcode: GETFH (10)
Opcode: GETATTR (9)
GETATTR4args
attr_request
bitmap[0] = 0x0010011a
[5 attributes requested]
mand_attr: FATTR4_TYPE (1)
mand_attr: FATTR4_CHANGE (3)
mand_attr: FATTR4_SIZE (4)
mand_attr: FATTR4_FSID (8)
recc_attr: FATTR4_FILEID (20)
bitmap[1] = 0x0030a23a
[9 attributes requested]
recc_attr: FATTR4_MODE (33)
recc_attr: FATTR4_NUMLINKS (35)
*recc_attr: FATTR4_OWNER (36)*
*recc_attr: FATTR4_OWNER_GROUP (37)*
recc_attr: FATTR4_RAWDEV (41)
recc_attr: FATTR4_SPACE_USED (45)
recc_attr: FATTR4_TIME_ACCESS (47)
recc_attr: FATTR4_TIME_METADATA (52)
recc_attr: FATTR4_TIME_MODIFY (53)
>> My server kernel is 2.6.16.60-0.39.3
>> # uname -a
>> Linux bhsrv2 2.6.16.60-0.39.3-smp #1 SMP Mon May 11 11:46:34 UTC
>> 2009 x86_64 x86_64 x86_64 GNU/Linux
>>
>>
>> I'm positive idmapd is running in both, server and client:
>>
>> server
>> # ps -ef | grep idmap
>> root 11254 1 0 Jan12 ? 00:00:00 /usr/sbin/rpc.idmapd
> OK.
>
>> client
>> # ps -ef | grep idmap
>> root 3262 1 0 2010 ? 00:00:02 rpc.idmapd
>>
>> but it doesn't appear in rpcinfo -p, should it?
> No, it just handles requests from the kernel, not from the network.
>
> Might also be worth looking at the nfs4.idtoname cache contents after
> the hang:
>
> rpcdebug -m rpc -s cache
> cat /proc/net/rpc/nfs4.idtoname/content
>
> I seem to recall c9b6cbe56d3ac471e6cd72a59ec9e324b3417016 or
> 0a725fc4d3bfc4734164863d6c50208b109ca5c7 being possible causes of hangs.
>
> --b.
Unfortunately, rpcdebug is not present in this server. So my
/proc/net/rpc/nfs4.idtoname/content file is empty.
May this command be of any use?
"echo "65535" > /proc/sys/sunrpc/rpc_debug"
next prev parent reply other threads:[~2011-01-13 17:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-12 17:14 NFSv4 memory allocation bug? Txema Heredia Genestar
2011-01-12 18:35 ` J. Bruce Fields
2011-01-13 15:48 ` Txema Heredia Genestar
2011-01-13 16:19 ` J. Bruce Fields
2011-01-13 17:25 ` Txema Heredia Genestar [this message]
2011-01-13 18:05 ` J. Bruce Fields
2011-01-14 12:11 ` Txema Heredia Genestar
2011-02-08 18:07 ` Txema Heredia
2011-02-09 0:09 ` 'J. Bruce Fields'
2011-02-09 13:57 ` Txema Heredia Genestar
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=4D2F3583.8090502@upf.edu \
--to=txema.heredia@upf.edu \
--cc=bfields@fieldses.org \
--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).