diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-11-18 08:07:51 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-11-18 08:07:51 -0800 |
commit | 7f0f598a0069d1ab072375965a4b69137233169c (patch) | |
tree | 00cb9320e0caef179d6075b54fa611de6551e3e2 /kernel | |
parent | a6a0c4ca7edb378a8a7332501f097089cb1051c4 (diff) | |
parent | c26156b2534c75bb3cdedf76f6ad1340971cf5bd (diff) | |
download | lwn-7f0f598a0069d1ab072375965a4b69137233169c.tar.gz lwn-7f0f598a0069d1ab072375965a4b69137233169c.zip |
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
block: hold extra reference to bio in blk_rq_map_user_iov()
relay: fix cpu offline problem
Release old elevator on change elevator
block: fix boot failure with CONFIG_DEBUG_BLOCK_EXT_DEVT=y and nash
block/md: fix md autodetection
block: make add_partition() return pointer to hd_struct
block: fix add_partition() error path
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/relay.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/kernel/relay.c b/kernel/relay.c index 8d13a7855c08..32b0befdcb6a 100644 --- a/kernel/relay.c +++ b/kernel/relay.c @@ -400,7 +400,7 @@ void relay_reset(struct rchan *chan) } mutex_lock(&relay_channels_mutex); - for_each_online_cpu(i) + for_each_possible_cpu(i) if (chan->buf[i]) __relay_reset(chan->buf[i], 0); mutex_unlock(&relay_channels_mutex); @@ -611,10 +611,9 @@ struct rchan *relay_open(const char *base_filename, return chan; free_bufs: - for_each_online_cpu(i) { - if (!chan->buf[i]) - break; - relay_close_buf(chan->buf[i]); + for_each_possible_cpu(i) { + if (chan->buf[i]) + relay_close_buf(chan->buf[i]); } kref_put(&chan->kref, relay_destroy_channel); |