fs/9p: destroy fid on failed remove
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Fri, 2 Jul 2010 06:51:20 +0000 (12:21 +0530)
committerEric Van Hensbergen <ericvh@gmail.com>
Mon, 2 Aug 2010 19:28:36 +0000 (14:28 -0500)
commit0b1208b1aa7a555d5ae4246bab4cd76ba3f32b2d
tree9149834d1e86df4d5d42abbfc10e92245946a851
parenta534c8d15b1f1d0f861fc2bb9e0529bd8486ec3f
fs/9p: destroy fid on failed remove

9P spec says:
"It is correct to consider remove to be a clunk with the
side effect of removing the file if permissions allow. "

So even if remove fails we need to destroy the fid.

Without this patch an rmdir on a directory with contents leave
the new cloned directory fid fid attached to fidlist. On umount
we dump the fids on the fidlist

~# rmdir /mnt2/test4/
rmdir: failed to remove `/mnt2/test4/': Directory not empty
~# umount /mnt2/
~# dmesg
[  228.474323] Found fid 3 not clunked

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
net/9p/client.c