linux/fs/cachefiles
Kiran Kumar Modukuri 2c69b03004 cachefiles: Wait rather than BUG'ing on "Unexpected object collision"
[ Upstream commit c2412ac45a ]

If we meet a conflicting object that is marked FSCACHE_OBJECT_IS_LIVE in
the active object tree, we have been emitting a BUG after logging
information about it and the new object.

Instead, we should wait for the CACHEFILES_OBJECT_ACTIVE flag to be cleared
on the old object (or return an error).  The ACTIVE flag should be cleared
after it has been removed from the active object tree.  A timeout of 60s is
used in the wait, so we shouldn't be able to get stuck there.

Fixes: 9ae326a690 ("CacheFiles: A cache that backs onto a mounted filesystem")
Signed-off-by: Kiran Kumar Modukuri <kiran.modukuri@gmail.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-09-05 09:26:29 +02:00
..
bind.c VFS: Convert sb->s_flags & MS_RDONLY to sb_rdonly(sb) 2017-07-17 08:45:34 +01:00
daemon.c CacheFiles: Provide read-and-reset release counters for cachefilesd 2016-02-01 12:30:10 -05:00
interface.c cachefiles: Fix attempt to read i_blocks after deleting file [ver #2] 2016-09-27 18:31:29 -04:00
internal.h sched/wait: Split out the wait_bit*() APIs from <linux/wait.h> into <linux/wait_bit.h> 2017-06-20 12:19:09 +02:00
Kconfig
key.c CacheFiles: Downgrade the requirements passed to the allocator 2012-12-20 21:58:25 +00:00
main.c fs/cachefiles: add missing \n to kerror conversions 2014-09-26 08:10:35 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
namei.c cachefiles: Wait rather than BUG'ing on "Unexpected object collision" 2018-09-05 09:26:29 +02:00
proc.c drop redundant ->owner initializations 2016-05-29 19:08:00 -04:00
rdwr.c cachefiles: Fix refcounting bug in backing-file read monitoring 2018-09-05 09:26:29 +02:00
security.c VFS: fs/cachefiles: d_backing_inode() annotations 2015-04-15 15:06:59 -04:00
xattr.c VFS: fs/cachefiles: d_backing_inode() annotations 2015-04-15 15:06:59 -04:00