fs,block: simplify block device closing
By switching block devices to files we close them via fput(). So when
someone unmounts a filesystem it means that the block device is only
really released once the umount system call returns to userspace.
That ultimately could cause an old umount assumption to be violated that
concurrent umount and mount such as in generic/604 would never fail. So
unhold the device during umount.
That also allows us to remove the holder code that Linus wasn't overly
excited about.
Fixes: f3a608827d1f ("bdev: open block device as files") # mainline only
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
9 files changed