leases: move lock allocation earlier in generic_setlease()
authorDavid M. Richter <richterd@citi.umich.edu>
Wed, 23 Apr 2008 20:29:01 +0000 (16:29 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Fri, 25 Apr 2008 16:58:22 +0000 (12:58 -0400)
commit190855576743a510219fc67886dace29b825d8cb
treef31c569aa43b5e000610e81546fce13fecf894d8
parent288b2fd8251cb0bcb14b8a93755ef9c78de70e0f
leases: move lock allocation earlier in generic_setlease()

In generic_setlease(), the struct file_lock is allocated after tests for the
presence of conflicting readers/writers is done, despite the fact that the
allocation might block; this patch moves the allocation earlier.  A subsequent
set of patches will rely on this behavior to properly serialize between a
modified __break_lease() and generic_setlease().

Signed-off-by: David M. Richter <richterd@citi.umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/locks.c