• David Howells's avatar
    CacheFiles: Fix a race in cachefiles_delete_object() vs rename · 8f9941ae
    David Howells authored
    cachefiles_delete_object() can race with rename.  It gets the parent directory
    of the object it's asked to delete, then locks it - but rename may have changed
    the object's parent between the get and the completion of the lock.
    
    However, if such a circumstance is detected, we abandon our attempt to delete
    the object - since it's no longer in the index key path, it won't be seen
    again by lookups of that key.  The assumption is that cachefilesd may have
    culled it by renaming it to the graveyard for later destruction.
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    8f9941ae
namei.c 21.7 KB