]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] Suppress reiserfs page allocation wanring
authorAndrew Morton <akpm@osdl.org>
Fri, 13 Feb 2004 07:47:31 +0000 (23:47 -0800)
committerLinus Torvalds <torvalds@home.osdl.org>
Fri, 13 Feb 2004 07:47:31 +0000 (23:47 -0800)
From: Nikita Danilov <Nikita@Namesys.COM>

Some stage in reiserfs balancing (fix_nodes() function) has to be performed
without ever scheduling.  If it schedules, it has to be restarted.  As we
don't want to restart often, we first try to do atomic allocation, and if
it fails, GFP_NOFS allocation is done, and fix_nodes() restarted.

fs/reiserfs/fix_node.c

index 5d88b2164d8bf871f50f31a69841986ebcbe2275..e16c276dc82a1a05645a5a89be520807d36e211a 100644 (file)
@@ -2037,7 +2037,7 @@ static int get_mem_for_virtual_node (struct tree_balance * tb)
        tb->vn_buf_size = size;
 
        /* get memory for virtual item */
-       buf = reiserfs_kmalloc(size, GFP_ATOMIC, tb->tb_sb);
+       buf = reiserfs_kmalloc(size, GFP_ATOMIC | __GFP_NOWARN, tb->tb_sb);
        if ( ! buf ) {
            /* getting memory with GFP_KERNEL priority may involve
                balancing now (due to indirect_to_direct conversion on