• Steve French's avatar
    [CIFS] revalidate parent inode when rmdir done within that directory · 42c24544
    Steve French authored
    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: default avatarDave Kleikamp <shaggy@us.ibm.com>
    Acked-by: default avatarJeff Layton <jlayton@redhat.com>
    Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
    42c24544
inode.c 54.9 KB