ceph: return EBADF if waiting for caps on closed file
authorSage Weil <sage@newdream.net>
Mon, 1 Mar 2010 17:57:54 +0000 (09:57 -0800)
committerSage Weil <sage@newdream.net>
Mon, 1 Mar 2010 23:28:00 +0000 (15:28 -0800)
commit195d3ce2cc9a8ec69827f6369c41b269345b9988
tree9ef91489d379ac612895b6ab3118535969aba152
parent6f863e712d4114e8ae2f02de64ebeac0546ebaa0
ceph: return EBADF if waiting for caps on closed file

Verify the file is actually open for the given caps when we are
waiting for caps.  This ensures we will wake up and return EBADF
if another thread closes the file out from under us.

Note that EBADF is also the correct return code from write(2)
when called on a file handle opened for reading (although the
vfs should catch that).

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/caps.c
fs/ceph/file.c