lockd: always preallocate block in nlmsvc_lock()
authorMarc Eshel <eshel@almaden.ibm.com>
Wed, 6 Dec 2006 04:48:10 +0000 (23:48 -0500)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 7 May 2007 00:38:50 +0000 (20:38 -0400)
commitf812048020282fdfa9b72a6cf539c33b6df1fd07
treee4f281027da1f0e907e68b2e26ae5b773a967047
parent5ea0d75037b93baa453b4d326c6319968fe91cea
lockd: always preallocate block in nlmsvc_lock()

Normally we could skip ever having to allocate a block in the case where
the client asks for a non-blocking lock, or asks for a blocking lock that
succeeds immediately.

However we're going to want to always look up a block first in order to
check whether we're revisiting a deferred lock call, and to be prepared to
handle the case where the filesystem returns -EINPROGRESS--in that case we
want to make sure the lock we've given the filesystem is the one embedded
in the block that we'll use to track the deferred request.

Signed-off-by: Marc Eshel <eshel@almaden.ibm.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/lockd/svclock.c