mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
btrfs: fix comment in alloc_bitmap() and drop stale TODO
All callers of alloc_bitmap() hold a transaction handle, so GFP_NOFS is needed to avoid deadlocks on recursion. Update the comment and drop the stale TODO. Reviewed-by: Filipe Manana <fdmanana@suse.com> Signed-off-by: Rajeev Tapadia <rtapadia730@gmail.com> Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
725e462988
commit
745483ea98
|
|
@ -165,11 +165,9 @@ static unsigned long *alloc_bitmap(u32 bitmap_size)
|
|||
|
||||
/*
|
||||
* GFP_NOFS doesn't work with kvmalloc(), but we really can't recurse
|
||||
* into the filesystem as the free space bitmap can be modified in the
|
||||
* critical section of a transaction commit.
|
||||
*
|
||||
* TODO: push the memalloc_nofs_{save,restore}() to the caller where we
|
||||
* know that recursion is unsafe.
|
||||
* into the filesystem here. All callers hold a transaction handle
|
||||
* open, so if a GFP_KERNEL allocation recurses into the filesystem
|
||||
* and triggers a transaction commit, we would deadlock.
|
||||
*/
|
||||
nofs_flag = memalloc_nofs_save();
|
||||
ret = kvzalloc(bitmap_rounded_size, GFP_KERNEL);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user