Skip to content
Commit 6dbbcb12 authored by Miklos Szeredi's avatar Miklos Szeredi
Browse files

[fuse] fix deadlock between fuse_put_super() and request_end(), try #2



A deadlock was possible, when the last reference to the superblock was
held due to a background request containing a file reference.

Releasing the file would release the vfsmount which in turn would
release the superblock.  Since sbput_sem is held during the fput() and
fuse_put_super() tries to acquire this same semaphore, a deadlock
results.

The solution is to move the fput() outside the region protected by
sbput_sem.

Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
parent 5a5fb1ea
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment