diff options
author | Amir Goldstein | 2011-05-10 03:48:13 +0200 |
---|---|---|
committer | Theodore Ts'o | 2011-05-10 03:48:13 +0200 |
commit | 2de8807b25de6d24476923121e3b20146fe8216b (patch) | |
tree | 083909f3bad86d16a1a65511771945b2ccbb917f /fs/nfsd/nfs3xdr.c | |
parent | ext4: implement ext4_add_groupblocks() by freeing blocks (diff) | |
download | kernel-qcow2-linux-2de8807b25de6d24476923121e3b20146fe8216b.tar.gz kernel-qcow2-linux-2de8807b25de6d24476923121e3b20146fe8216b.tar.xz kernel-qcow2-linux-2de8807b25de6d24476923121e3b20146fe8216b.zip |
ext4: synchronize ext4_mb_init_group() with buddy page lock
The old routines ext4_mb_[get|put]_buddy_cache_lock(), which used
to take grp->alloc_sem for all groups on the buddy page have been
replaced with the routines ext4_mb_[get|put]_buddy_page_lock().
The new routines take both buddy and bitmap page locks to protect
against concurrent init of groups on the same buddy page.
The GROUP_NEED_INIT flag is tested again under page lock to check
if the group was initialized by another caller.
Signed-off-by: Amir Goldstein <amir73il@users.sf.net>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/nfsd/nfs3xdr.c')
0 files changed, 0 insertions, 0 deletions