From: Suresh Jayaraman <sjayaraman@suse.de>
To: wengang wang <wen.gang.wang@oracle.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH 1/1] nfsd(v2/v3): fix the failure of creation from HPUX client
Date: Wed, 24 Dec 2008 14:47:08 +0530 [thread overview]
Message-ID: <4951FE14.9010504@suse.de> (raw)
In-Reply-To: <4951EF80.1050209@oracle.com>
wengang wang wrote:
> Suresh Jayaraman wrote:
>> wengang wang wrote:
>>
>>> sometimes HPUX nfs client sends a create request to linux nfs
>>> server(v2/v3).
>>> the dump of the request is like:
>>> obj_attributes
>>> mode: value follows
>>> set_it: value follows (1)
>>> mode: 00
>>> uid: no value
>>> set_it: no value (0)
>>> gid: value follows
>>> set_it: value follows (1)
>>> gid: 8030
>>> size: value follows
>>> set_it: value follows (1)
>>> size: 0
>>> atime: don't change
>>> set_it: don't change (0)
>>> mtime: don't change
>>> set_it: don't change (0)
>>>
>>> note that mode is 00(havs no rwx privilege even for the owner) and it
>>> requires
>>> to set size to 0.
>>>
>>
>>
>> What's the Create Mode in this case? EXCLUSIVE or UNCHECKED?
>>
> it's UNCHECKED.
>> What's the error the server is returning without this patch -
>> ERR_NOTSUPP?
>>
>>
> permission deny, that is NFS3ERR_ACCES.
>> I tested this on 2.6.27.7 with a small program which does this:
>> fd = open("file", O_CREAT, 0000);
>>
>> The file creation succeeded with file size set to 0 and the subsequent
>> chmod too.
>>
>>
> tcpdump available for your test?
> just after the creation, is the file mode 0000?
Here are the relevant packets (both server and client are running 2.6.27.7)
<snip>
V3 LOOKUP Call (Reply In 153), DH:0x83dc449c/myfile
Frame 152 (186 bytes on wire, 186 bytes captured)
Ethernet II, Src: Foxconn_ca:9d:29 (00:15:58:ca:9d:29), Dst:
HewlettP_06:50:f9 (00:14:c2:06:50:f9)
Internet Protocol, Src: 164.99.138.53 (164.99.138.53), Dst:
164.99.138.52 (164.99.138.52)
Transmission Control Protocol, Src Port: 882 (882), Dst Port: nfs
(2049), Seq: 1, Ack: 1, Len: 120
Remote Procedure Call, Type:Call XID:0x3eb00345
Network File System, LOOKUP Call DH:0x83dc449c/myfile
[Program Version: 3]
[V3 Procedure: LOOKUP (3)]
what
dir
Name: myfile
V3 LOOKUP Reply (Call In 152) Error:NFS3ERR_NOENT
Frame 153 (186 bytes on wire, 186 bytes captured)
Ethernet II, Src: HewlettP_06:50:f9 (00:14:c2:06:50:f9), Dst:
Foxconn_ca:9d:29 (00:15:58:ca:9d:29)
Internet Protocol, Src: 164.99.138.52 (164.99.138.52), Dst:
164.99.138.53 (164.99.138.53)
Transmission Control Protocol, Src Port: nfs (2049), Dst Port: 882
(882), Seq: 1, Ack: 121, Len: 120
Remote Procedure Call, Type:Reply XID:0x3eb00345
Network File System, LOOKUP Reply Error:NFS3ERR_NOENT
[Program Version: 3]
[V3 Procedure: LOOKUP (3)]
Status: NFS3ERR_NOENT (2)
dir_attributes Directory mode:0777 uid:0 gid:0
attributes_follow: value follows (1)
attributes Directory mode:0777 uid:0 gid:0
Type: Directory (2)
mode: 040777
0... .... .... = not SUID
.0.. .... .... = not SGID
..0. .... .... = not save swapped text
...1 .... .... = Read permission for owner
.... 1... .... = Write permission for owner
.... .1.. .... = Execute permission for owner
.... ..1. .... = Read permission for group
.... ...1 .... = Write permission for group
.... .... 1... = Execute permission for group
.... .... .1.. = Read permission for others
.... .... ..1. = Write permission for others
.... .... ...1 = Execute permission for others
nlink: 2
uid: 0
gid: 0
size: 4096
used: 4096
rdev: 0,0
fsid: 0xd6aa5ceb9647d2e8
fileid: 2970241
atime: Dec 24, 2008 12:06:42.000000000
mtime: Dec 24, 2008 12:06:42.000000000
ctime: Dec 24, 2008 12:06:42.000000000
V3 CREATE Call (Reply In 156), DH:0x83dc449c/myfile Mode:UNCHECKED
Frame 155 (218 bytes on wire, 218 bytes captured)
Ethernet II, Src: Foxconn_ca:9d:29 (00:15:58:ca:9d:29), Dst:
HewlettP_06:50:f9 (00:14:c2:06:50:f9)
Internet Protocol, Src: 164.99.138.53 (164.99.138.53), Dst:
164.99.138.52 (164.99.138.52)
Transmission Control Protocol, Src Port: 882 (882), Dst Port: nfs
(2049), Seq: 121, Ack: 121, Len: 152
Remote Procedure Call, Type:Call XID:0x3fb00345
Network File System, CREATE Call DH:0x83dc449c/myfile Mode:UNCHECKED
[Program Version: 3]
[V3 Procedure: CREATE (8)]
where
dir
Name: myfile
Create Mode: UNCHECKED (0)
obj_attributes
mode: value follows
set_it: value follows (1)
mode: 00
0... .... .... = not SUID
.0.. .... .... = not SGID
..0. .... .... = not save swapped text
...0 .... .... = no Read permission for owner
.... 0... .... = no Write permission for owner
.... .0.. .... = no Execute permission for owner
.... ..0. .... = no Read permission for group
.... ...0 .... = no Write permission for group
.... .... 0... = no Execute permission for group
.... .... .0.. = no Read permission for others
.... .... ..0. = no Write permission for others
.... .... ...0 = no Execute permission for others
uid: no value
gid: no value
size: no value
atime: don't change
mtime: don't change
V3 CREATE Reply (Call In 155)
Frame 156 (346 bytes on wire, 346 bytes captured)
Ethernet II, Src: HewlettP_06:50:f9 (00:14:c2:06:50:f9), Dst:
Foxconn_ca:9d:29 (00:15:58:ca:9d:29)
Internet Protocol, Src: 164.99.138.52 (164.99.138.52), Dst:
164.99.138.53 (164.99.138.53)
Transmission Control Protocol, Src Port: nfs (2049), Dst Port: 882
(882), Seq: 121, Ack: 273, Len: 280
Remote Procedure Call, Type:Reply XID:0x3fb00345
Network File System, CREATE Reply
[Program Version: 3]
[V3 Procedure: CREATE (8)]
Status: NFS3_OK (0)
obj
obj_attributes Regular File mode:0000 uid:0 gid:0
attributes_follow: value follows (1)
attributes Regular File mode:0000 uid:0 gid:0
Type: Regular File (1)
mode: 0100000
0... .... .... = not SUID
.0.. .... .... = not SGID
..0. .... .... = not save swapped text
...0 .... .... = no Read permission for owner
.... 0... .... = no Write permission for owner
.... .0.. .... = no Execute permission for owner
.... ..0. .... = no Read permission for group
.... ...0 .... = no Write permission for group
.... .... 0... = no Execute permission for group
.... .... .0.. = no Read permission for others
.... .... ..0. = no Write permission for others
.... .... ...0 = no Execute permission for others
nlink: 1
uid: 0
gid: 0
size: 0
used: 0
rdev: 0,0
fsid: 0xd6aa5ceb9647d2e8
fileid: 1615722
atime: Dec 24, 2008 12:07:03.000000000
mtime: Dec 24, 2008 12:07:03.000000000
ctime: Dec 24, 2008 12:07:03.000000000
dir_wcc
</snip>
Thanks,
--
Suresh Jayaraman
next prev parent reply other threads:[~2008-12-24 9:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-24 5:36 [PATCH 1/1] nfsd(v2/v3): fix the failure of creation from HPUX client wengang wang
[not found] ` <200812240537.mBO5blpr005502-eiegoW5zEh26xOVM2wN62FaTQe2KTcn/@public.gmane.org>
2008-12-24 7:14 ` Suresh Jayaraman
2008-12-24 8:14 ` wengang wang
2008-12-24 9:17 ` Suresh Jayaraman [this message]
2008-12-24 9:43 ` wengang wang
2009-01-04 1:53 ` wengang wang
2009-01-04 21:38 ` J. Bruce Fields
2009-01-09 21:57 ` J. Bruce Fields
-- strict thread matches above, loose matches on Subject: below --
2008-12-24 5:18 wwg
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=4951FE14.9010504@suse.de \
--to=sjayaraman@suse.de \
--cc=linux-nfs@vger.kernel.org \
--cc=wen.gang.wang@oracle.com \
/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