1 --- linux-2.6.10.orig/fs/ext3/super.c 2004-12-24 22:35:28.000000000 +0100
2 +++ linux-2.6.10/fs/ext3/super.c 2005-01-18 12:27:51.896529310 +0100
8 +#include <linux/nodemask.h>
9 +#include <asm/topology.h>
11 +static int journal_node_affinity = 0;
12 +spinlock_t journal_node_affinity_lock = SPIN_LOCK_UNLOCKED;
14 +static void ext3_bind_journal_thread(journal_t *journal) {
17 + spin_lock(&journal_node_affinity_lock);
18 + for (i = 0; i < MAX_NUMNODES; i++) {
19 + node = (journal_node_affinity + i) % MAX_NUMNODES;
21 + if (!nr_cpus_node(node) || !node_online(node))
24 + set_cpus_allowed(journal->j_task, node_to_cpumask(node));
25 + journal_node_affinity = (node + 1) % MAX_NUMNODES;
28 + spin_unlock(&journal_node_affinity_lock);
31 +#define ext3_bind_journal_thread(journal) do {} while (0)
34 static int ext3_load_journal(struct super_block * sb,
35 struct ext3_super_block * es)
41 + ext3_bind_journal_thread(journal);
42 EXT3_SB(sb)->s_journal = journal;
43 ext3_clear_journal_err(sb, es);
49 + ext3_bind_journal_thread(journal);
50 EXT3_SB(sb)->s_journal = journal;
52 ext3_update_dynamic_rev(sb);