summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-09-05 23:24:33 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-05 23:24:33 +0200
commit5a09adf13067609d8ab9fcae11dc99fd0084e35c (patch)
treebe2908bf2a8a20e9bebb4a064611ca5c2e2977f9
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/... (diff)
parentnilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key (diff)
downloadlinux-5a09adf13067609d8ab9fcae11dc99fd0084e35c.tar.xz
linux-5a09adf13067609d8ab9fcae11dc99fd0084e35c.zip
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key
-rw-r--r--fs/nilfs2/btnode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c
index 7e0b61be212e..c668bca579c1 100644
--- a/fs/nilfs2/btnode.c
+++ b/fs/nilfs2/btnode.c
@@ -209,6 +209,7 @@ int nilfs_btnode_prepare_change_key(struct address_space *btnc,
* We cannot call radix_tree_preload for the kernels older
* than 2.6.23, because it is not exported for modules.
*/
+retry:
err = radix_tree_preload(GFP_NOFS & ~__GFP_HIGHMEM);
if (err)
goto failed_unlock;
@@ -219,7 +220,6 @@ int nilfs_btnode_prepare_change_key(struct address_space *btnc,
(unsigned long long)oldkey,
(unsigned long long)newkey);
-retry:
spin_lock_irq(&btnc->tree_lock);
err = radix_tree_insert(&btnc->page_tree, newkey, obh->b_page);
spin_unlock_irq(&btnc->tree_lock);