On Thu, Oct 30, 2025 at 10:31:07AM +1100, NeilBrown wrote:

> @@ -428,11 +429,14 @@ static bool cachefiles_invalidate_cookie(struct 
> fscache_cookie *cookie)
>               if (!old_tmpfile) {
>                       struct cachefiles_volume *volume = object->volume;
>                       struct dentry *fan = 
> volume->fanout[(u8)cookie->key_hash];
> -
> -                     inode_lock_nested(d_inode(fan), I_MUTEX_PARENT);
> -                     cachefiles_bury_object(volume->cache, object, fan,
> -                                            old_file->f_path.dentry,
> -                                            FSCACHE_OBJECT_INVALIDATED);
> +                     struct dentry *obj;
> +
> +                     obj = start_removing_dentry(fan, 
> old_file->f_path.dentry);
> +                     if (!IS_ERR(obj))
> +                             cachefiles_bury_object(volume->cache, object,
> +                                                    fan, obj,
> +                                                    
> FSCACHE_OBJECT_INVALIDATED);
> +                     end_removing(obj);

Huh?  Where did you change cachefiles_bury_object to *not* unlock the parent?
Not in this commit, AFAICS, and that means at least a bisection hazard around
here...

Confused...

Reply via email to