Re: [PATCH] nfs4: client: do not send empty SETATTR after OPEN_CREATE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




----- Original Message -----
> From: "Trond Myklebust" <trondmy@xxxxxxxxxxxxxxx>
> To: "Tigran Mkrtchyan" <tigran.mkrtchyan@xxxxxxx>
> Cc: linux-nfs@xxxxxxxxxxxxxxx
> Sent: Thursday, May 12, 2016 12:25:18 AM
> Subject: Re: [PATCH] nfs4: client: do not send empty SETATTR after OPEN_CREATE

> On 5/11/16, 18:14, "Tigran Mkrtchyan" <tigran.mkrtchyan@xxxxxxx> wrote:
> 
>>OPEN_CREATE with EXCLUSIVE4_1 sends initial file permission.
>>Ignoring  fact, that server have indicated that file mod is set, client
>>will send yet another SETATTR request, but, as mode is already set,
>>new SETATTR will be empty. This is not a problem, nevertheless
>>an extra roundtrip and slow open on high latency networks.
>>
>>This change is aims to by-pass setattr if there are no attributes defined.
>>
>>Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@xxxxxxx>
>>---
>> fs/nfs/nfs4proc.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>>diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
>>index 327b8c3..f6b278f 100644
>>--- a/fs/nfs/nfs4proc.c
>>+++ b/fs/nfs/nfs4proc.c
>>@@ -2724,6 +2724,12 @@ static int nfs4_do_setattr(struct inode *inode, struct
>>rpc_cred *cred,
>> 		.inode = inode,
>> 	};
>> 	int err;
>>+	/*
>>+	 * a shortcut: it there are no attributes to be updated, do not send setattr
>>at all
>>+	 */
>>+	if (sattr->ia_valid == ATTR_OPEN)
>>+		return 0;
>>+
> 
> There is already a similar optimization in nfs_setattr(), so I don’t think it
Obviously not mature enough.


> makes sense to put this in nfs4_do_setattr(). We should rather just fix
> _nfs4_do_open().

Agree. See v2.

Tigran.

> 
>> 	do {
>> 		err = _nfs4_do_setattr(inode, cred, fattr, sattr, state, ilabel, olabel);
>> 		switch (err) {
>>--
>>2.5.5
>>
> 
> N�����r��y���b�X��ǧv�^�)޺{.n�+����{���"��^n�r���z���h����&���G���h�(�階�ݢj"���m�����z�ޖ���f���h���~�m�
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux