]> git.baikalelectronics.ru Git - kernel.git/commit
[CIFS] revalidate parent inode when rmdir done within that directory
authorSteve French <sfrench@us.ibm.com>
Tue, 13 Jan 2009 22:03:55 +0000 (22:03 +0000)
committerSteve French <sfrench@us.ibm.com>
Thu, 29 Jan 2009 03:32:12 +0000 (03:32 +0000)
commit5c3ba5413dc8b78c76f47f45823ad8b6936c4e02
tree430af06da69c1d518d9e6af0d577742ec27ed63d
parentea29990176a9795086472df12eea180e5dbcc19f
[CIFS] revalidate parent inode when rmdir done within that directory

When a search is pending of a parent directory, and a child directory
within it is removed, we need to reset the parent directory's time
so that we don't reuse the (now stale) search results.

Thanks to Gunter Kukkukk for reporting this:

> got the following failure notification on irc #samba:
>
> A user was updating from subversion 1.4 to 1.5, where the
> repository is located on a samba share (independent of
> unix extensions = Yes or No).
> svn 1.4 did work, 1.5 does not.
>
> The user did a lot of stracing of subversion - and wrote a
> testapplet to simulate the failing behaviour.
> I've converted the C++ source to C and added some error cases.
>
> When using "./testdir" on a local file system, "result2"
> is always (nil) as expected - cifs vfs behaves different here!
>
>   ./testdir /mnt/cifs/mounted/share
>
> returns a (failing) valid pointer.

Acked-by: Dave Kleikamp <shaggy@us.ibm.com>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/CHANGES
fs/cifs/inode.c