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) | |
| download | olio-linux-3.10-b2c6b3e0611c58fbeb6b9c0892b6249f7bdfaf6b.tar.xz olio-linux-3.10-b2c6b3e0611c58fbeb6b9c0892b6249f7bdfaf6b.zip | |
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 2a1762c6604..e95df435d89 100644 --- a/fs/btrfs/locking.c +++ b/fs/btrfs/locking.c @@ -113,11 +113,10 @@ again: read_unlock(&eb->lock); return; } - read_unlock(&eb->lock); - wait_event(eb->write_lock_wq, atomic_read(&eb->blocking_writers) == 0); - read_lock(&eb->lock); if (atomic_read(&eb->blocking_writers)) { read_unlock(&eb->lock); + wait_event(eb->write_lock_wq, + atomic_read(&eb->blocking_writers) == 0); goto again; } atomic_inc(&eb->read_locks); |