kernel-ark/fs/fuse
Miklos Szeredi 6dbbcb1205 [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: Miklos Szeredi <miklos@szeredi.hu>
2006-04-26 10:49:06 +02:00
..
dev.c [fuse] fix deadlock between fuse_put_super() and request_end(), try #2 2006-04-26 10:49:06 +02:00
dir.c [PATCH] fuse: clean up request accounting 2006-04-11 06:18:49 -07:00
file.c [fuse] Direct I/O should not use fuse_reset_request 2006-04-11 21:16:51 +02:00
fuse_i.h Revert "[fuse] fix deadlock between fuse_put_super() and request_end()" 2006-04-26 10:48:55 +02:00
inode.c Revert "[fuse] fix deadlock between fuse_put_super() and request_end()" 2006-04-26 10:48:55 +02:00
Makefile