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
This commit is contained in:
@@ -209,6 +209,7 @@ int nilfs_btnode_prepare_change_key(struct address_space *btnc,
|
|||||||
* We cannot call radix_tree_preload for the kernels older
|
* We cannot call radix_tree_preload for the kernels older
|
||||||
* than 2.6.23, because it is not exported for modules.
|
* than 2.6.23, because it is not exported for modules.
|
||||||
*/
|
*/
|
||||||
|
retry:
|
||||||
err = radix_tree_preload(GFP_NOFS & ~__GFP_HIGHMEM);
|
err = radix_tree_preload(GFP_NOFS & ~__GFP_HIGHMEM);
|
||||||
if (err)
|
if (err)
|
||||||
goto failed_unlock;
|
goto failed_unlock;
|
||||||
@@ -219,7 +220,6 @@ int nilfs_btnode_prepare_change_key(struct address_space *btnc,
|
|||||||
(unsigned long long)oldkey,
|
(unsigned long long)oldkey,
|
||||||
(unsigned long long)newkey);
|
(unsigned long long)newkey);
|
||||||
|
|
||||||
retry:
|
|
||||||
spin_lock_irq(&btnc->tree_lock);
|
spin_lock_irq(&btnc->tree_lock);
|
||||||
err = radix_tree_insert(&btnc->page_tree, newkey, obh->b_page);
|
err = radix_tree_insert(&btnc->page_tree, newkey, obh->b_page);
|
||||||
spin_unlock_irq(&btnc->tree_lock);
|
spin_unlock_irq(&btnc->tree_lock);
|
||||||
|
Reference in New Issue
Block a user