diff options
author | Chris Mason <chris.mason@fusionio.com> | 2013-02-20 14:05:45 -0500 |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2013-02-20 14:05:45 -0500 |
commit | b2c6b3e0611c58fbeb6b9c0892b6249f7bdfaf6b (patch) | |
tree | de7cf0825605aa6acf33a8d107003efd7aedbe72 /fs/btrfs/locking.c | |
parent | 19f949f52599ba7c3f67a5897ac6be14bfcb1200 (diff) | |
parent | 272d26d0ad8c0e326689f2fa3cdc6a5fcc8e74e0 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next into for-linus-3.9
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
Conflicts:
fs/btrfs/disk-io.c
Diffstat (limited to 'fs/btrfs/locking.c')
-rw-r--r-- | fs/btrfs/locking.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c index 2a1762c66041..e95df435d897 100644 --- a/fs/btrfs/locking.c +++ b/fs/btrfs/locking.c | |||
@@ -113,11 +113,10 @@ again: | |||
113 | read_unlock(&eb->lock); | 113 | read_unlock(&eb->lock); |
114 | return; | 114 | return; |
115 | } | 115 | } |
116 | read_unlock(&eb->lock); | ||
117 | wait_event(eb->write_lock_wq, atomic_read(&eb->blocking_writers) == 0); | ||
118 | read_lock(&eb->lock); | ||
119 | if (atomic_read(&eb->blocking_writers)) { | 116 | if (atomic_read(&eb->blocking_writers)) { |
120 | read_unlock(&eb->lock); | 117 | read_unlock(&eb->lock); |
118 | wait_event(eb->write_lock_wq, | ||
119 | atomic_read(&eb->blocking_writers) == 0); | ||
121 | goto again; | 120 | goto again; |
122 | } | 121 | } |
123 | atomic_inc(&eb->read_locks); | 122 | atomic_inc(&eb->read_locks); |