diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-07-01 02:49:28 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-07-01 03:31:25 -0400 |
commit | 0a54cec0c25cc49e3b68b14c205f1f6cff13f5e1 (patch) | |
tree | eb4e63ee9ae1fcaf9aa53a1668e55c09516052d9 /lib/idr.c | |
parent | ec8c27e04f89a7575ca2c4facb99152e03d6a99c (diff) | |
parent | 980019d74e4b2428362b36a0506519d6d9460800 (diff) |
Merge branch 'linus' into core/rcu
Conflicts:
fs/fs-writeback.c
Merge reason: Resolve the conflict
Note, i picked the version from Linus's tree, which effectively reverts
the fs-writeback.c bits of:
b97181f: fs: remove all rcu head initializations, except on_stack initializations
As the upstream changes to this file changed this code heavily and the
first attempt to resolve the conflict resulted in a non-booting kernel.
It's safer to re-try this portion of the commit cleanly.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'lib/idr.c')
-rw-r--r-- | lib/idr.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -602,7 +602,7 @@ void *idr_get_next(struct idr *idp, int *nextidp) | |||
602 | /* find first ent */ | 602 | /* find first ent */ |
603 | n = idp->layers * IDR_BITS; | 603 | n = idp->layers * IDR_BITS; |
604 | max = 1 << n; | 604 | max = 1 << n; |
605 | p = rcu_dereference(idp->top); | 605 | p = rcu_dereference_raw(idp->top); |
606 | if (!p) | 606 | if (!p) |
607 | return NULL; | 607 | return NULL; |
608 | 608 | ||
@@ -610,7 +610,7 @@ void *idr_get_next(struct idr *idp, int *nextidp) | |||
610 | while (n > 0 && p) { | 610 | while (n > 0 && p) { |
611 | n -= IDR_BITS; | 611 | n -= IDR_BITS; |
612 | *paa++ = p; | 612 | *paa++ = p; |
613 | p = rcu_dereference(p->ary[(id >> n) & IDR_MASK]); | 613 | p = rcu_dereference_raw(p->ary[(id >> n) & IDR_MASK]); |
614 | } | 614 | } |
615 | 615 | ||
616 | if (p) { | 616 | if (p) { |