OpenCloudOS-Kernel/fs/ufs
Fabian Frederick 0244756edc ufs: sb mutex merge + mutex_destroy
Commit 788257d610 ("ufs: remove the BKL") replaced BKL with mutex
protection using functions lock_ufs, unlock_ufs and struct mutex 'mutex'
in sb_info.

Commit b6963327e0 ("ufs: drop lock/unlock super") removed lock/unlock
super and added struct mutex 's_lock' in sb_info.

Those 2 mutexes are generally locked/unlocked at the same time except in
allocation (balloc, ialloc).

This patch merges the 2 mutexes and propagates first commit solution.
It also adds mutex destruction before kfree during ufs_fill_super
failure and ufs_put_super.

[akpm@linux-foundation.org: avoid ifdefs, return -EROFS not -EINVAL]
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Cc: Evgeniy Dushistov <dushistov@mail.ru>
Cc: "Chen, Jet" <jet.chen@intel.com>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-06-06 16:08:18 -07:00
..
Kconfig fs/ufs: remove depends on CONFIG_EXPERIMENTAL 2013-01-21 14:39:06 -08:00
Makefile
balloc.c ufs: sb mutex merge + mutex_destroy 2014-06-06 16:08:18 -07:00
cylinder.c drop linux/ufs_fs.h from userspace export and relocate it to fs/ufs/ufs_fs.h 2008-02-08 09:22:39 -08:00
dir.c [readdir] simple local unixlike: switch to ->iterate() 2013-06-29 12:46:47 +04:00
file.c Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2010-05-30 09:11:11 -07:00
ialloc.c ufs: sb mutex merge + mutex_destroy 2014-06-06 16:08:18 -07:00
inode.c mm + fs: store shadow entries in page cache 2014-04-03 16:21:01 -07:00
namei.c don't pass nameidata to ->create() 2012-07-14 16:34:47 +04:00
super.c ufs: sb mutex merge + mutex_destroy 2014-06-06 16:08:18 -07:00
swab.h ufs: replace __inline with inline 2008-04-28 08:58:45 -07:00
symlink.c ufs: add ufs speciffic ->setattr call 2010-05-21 19:30:40 +02:00
truncate.c ufs: fix truncated values handling 64 bit metadata 2011-05-26 17:12:33 -07:00
ufs.h ufs: sb mutex merge + mutex_destroy 2014-06-06 16:08:18 -07:00
ufs_fs.h fs/ufs: get rid of write_super 2012-07-22 23:58:16 +04:00
util.c fs: ufs: remove cast for kmalloc return value 2013-03-18 14:15:58 +01:00
util.h ufs: use little-endian bitops 2011-03-23 19:46:19 -07:00