orangefs: free superblock when mount fails
authorMartin Brandenburg <martin@omnibond.com>
Fri, 14 Apr 2017 18:22:41 +0000 (14:22 -0400)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 15 Apr 2017 16:39:31 +0000 (09:39 -0700)
commit1ec1688c5360e14dde4094d6acbf7516bf6db37e
tree6113cf3ae94e7f9a52e10ffaae92fda82c98a1af
parentc0eb027e5aef70b71e5a38ee3e264dc0b497f343
orangefs: free superblock when mount fails

Otherwise lockdep says:

[ 1337.483798] ================================================
[ 1337.483999] [ BUG: lock held when returning to user space! ]
[ 1337.484252] 4.11.0-rc6 #19 Not tainted
[ 1337.484423] ------------------------------------------------
[ 1337.484626] mount/14766 is leaving the kernel with locks still held!
[ 1337.484841] 1 lock held by mount/14766:
[ 1337.485017]  #0:  (&type->s_umount_key#33/1){+.+.+.}, at: [<ffffffff8124171f>] sget_userns+0x2af/0x520

Caught by xfstests generic/413 which tried to mount with the unsupported
mount option dax.  Then xfstests generic/422 ran sync which deadlocks.

Signed-off-by: Martin Brandenburg <martin@omnibond.com>
Acked-by: Mike Marshall <hubcap@omnibond.com>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/orangefs/devorangefs-req.c
fs/orangefs/orangefs-kernel.h
fs/orangefs/super.c