summaryrefslogtreecommitdiffstats
path: root/fs/ufs/ufs.h
diff options
context:
space:
mode:
authorFabian Frederick <fabf@skynet.be>2015-06-10 10:09:32 +1000
committerAl Viro <viro@zeniv.linux.org.uk>2015-06-16 02:07:38 -0400
commitcdd9eefdf905e92e7fc6cc393314efe68dc6ff66 (patch)
tree21a33cf43006f039bae8896de1457b72652d7c6a /fs/ufs/ufs.h
parent13b987ea275840d74d9df9a44326632fab1894da (diff)
downloadlinux-cdd9eefdf905e92e7fc6cc393314efe68dc6ff66.tar.bz2
fs/ufs: restore s_lock mutex
Commit 0244756edc4b98c ("ufs: sb mutex merge + mutex_destroy") generated deadlocks in read/write mode on mkdir. This patch partially reverts it keeping fixes by Andrew Morton and mutex_destroy() [AV: fixed a missing bit in ufs_remount()] Signed-off-by: Fabian Frederick <fabf@skynet.be> Reported-by: Ian Campbell <ian.campbell@citrix.com> Suggested-by: Jan Kara <jack@suse.cz> Cc: Ian Campbell <ian.campbell@citrix.com> Cc: Evgeniy Dushistov <dushistov@mail.ru> Cc: Alexey Khoroshilov <khoroshilov@ispras.ru> Cc: Roger Pau Monne <roger.pau@citrix.com> Cc: Ian Jackson <Ian.Jackson@eu.citrix.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ufs/ufs.h')
-rw-r--r--fs/ufs/ufs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ufs/ufs.h b/fs/ufs/ufs.h
index 2a07396d5f9e..cf6368d42d4a 100644
--- a/fs/ufs/ufs.h
+++ b/fs/ufs/ufs.h
@@ -30,6 +30,7 @@ struct ufs_sb_info {
int work_queued; /* non-zero if the delayed work is queued */
struct delayed_work sync_work; /* FS sync delayed work */
spinlock_t work_lock; /* protects sync_work and work_queued */
+ struct mutex s_lock;
};
struct ufs_inode_info {