mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Merge tag 'fuse-update-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse
Pull fuse updates from Miklos Szeredi: - Add mechanism for cleaning out unused, stale dentries; controlled via a module option (Luis Henriques) - Fix various bugs - Cleanups * tag 'fuse-update-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: Uninitialized variable in fuse_epoch_work() fuse: fix io-uring list corruption for terminated non-committed requests fuse: signal that a fuse inode should exhibit local fs behaviors fuse: Always flush the page cache before FOPEN_DIRECT_IO write fuse: Invalidate the page cache after FOPEN_DIRECT_IO write fuse: rename 'namelen' to 'namesize' fuse: use strscpy instead of strcpy fuse: refactor fuse_conn_put() to remove negative logic. fuse: new work queue to invalidate dentries from old epochs fuse: new work queue to periodically invalidate expired dentries dcache: export shrink_dentry_list() and add new helper d_dispose_if_unused() fuse: add WARN_ON and comment for RCU revalidate fuse: Fix whitespace for fuse_uring_args_to_ring() comment fuse: missing copy_finish in fuse-over-io-uring argument copies fuse: fix readahead reclaim deadlock
This commit is contained in:
@@ -128,9 +128,17 @@ static int ovl_dentry_revalidate_common(struct dentry *dentry,
|
||||
unsigned int i;
|
||||
int ret = 1;
|
||||
|
||||
/* Careful in RCU mode */
|
||||
if (!inode)
|
||||
if (!inode) {
|
||||
/*
|
||||
* Lookup of negative dentries will call ovl_dentry_init_flags()
|
||||
* with NULL upperdentry and NULL oe, resulting in the
|
||||
* DCACHE_OP*_REVALIDATE flags being cleared. Hence the only
|
||||
* way to get a negative inode is due to a race with dentry
|
||||
* destruction.
|
||||
*/
|
||||
WARN_ON(!(flags & LOOKUP_RCU));
|
||||
return -ECHILD;
|
||||
}
|
||||
|
||||
oe = OVL_I_E(inode);
|
||||
lowerstack = ovl_lowerstack(oe);
|
||||
|
||||
Reference in New Issue
Block a user