]> git.baikalelectronics.ru Git - kernel.git/commit
nfs41: serialize first layoutget of a file
authorPeng Tao <tao.peng@primarydata.com>
Fri, 22 Aug 2014 09:37:41 +0000 (17:37 +0800)
committerTom Haynes <loghyr@primarydata.com>
Tue, 3 Feb 2015 19:06:39 +0000 (11:06 -0800)
commit333448e798542aa581a8f68d895b2fd881a19fe1
tree380c0cc9a14dc4b5492f35473e88aee787b224ff
parent3cb0635e39aca8d9471df801ca5c96655fbd64cb
nfs41: serialize first layoutget of a file

Per RFC 5661 Errata 3208:
| A client MAY always forget its layout state and associated
| layout stateid at any time (See also section 12.5.5.1).
| In such case, the client MUST use a non-layout stateid for the next
| LAYOUTGET operation. This will signal the server that the client has
| no more layouts on the file and its respective layout state can be
| released before issuing a new layout in response to LAYOUTGET.

In order to make such a signal unique to server, client needs to serialize
all layoutgets using non-layout stateid. We implement this by serializing
layoutgets when client has no layout segments at hand.

Signed-off-by: Peng Tao <tao.peng@primarydata.com>
Signed-off-by: Tom Haynes <Thomas.Haynes@primarydata.com>
fs/nfs/pnfs.c
fs/nfs/pnfs.h