From: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: Mike Snitzer <snitzer@redhat.com>,
Jens Axboe <jaxboe@fusionio.com>, unsik Kim <donari75@gmail.com>,
Martin Schwidefsky <mschwid2@linux.vnet.ibm.com>,
Heiko Carstens <heicars2@linux.vnet.ibm.com>
Subject: [RFC] Switching block device elevators
Date: Mon, 16 Aug 2010 16:52:35 +0200 [thread overview]
Message-ID: <4C6950B3.8020702@linux.vnet.ibm.com> (raw)
After commit 1abec4fdbb142e3ccb6ce99832fae42129134a96, "block: make
blk_init_free_list and elevator_init idempotent", we're seeing kernel
panics in our s390 tape block device driver. The panic is triggered
because our driver tries to replace the default elevator with a noop
elevator by calling elevator_exit() directly followed by elevator_init().
Since the commit, elevator_init() returns 0 if request_queue->elevator
is non-null, even though it does not install a new elevator. As a
result, the next access to the elevator finds a pointer to the old one
which was already freed and a panic is triggered. Our current fix
consists of setting the elevator pointer to NULL after elevator_exit().
There is at least one other driver where the problem currently exists
(drivers/block/mg_disk.c, author on cc) and another s390 driver where
the problem was only accidentally fixed before 2.6.35. I'm wondering if
there's a better solution (apart from not forcing an elevator) and would
like to hear everyone's opinion on this matter. How about declaring
elevator_switch() non-static, for example?
Regards,
Peter Oberparleiter
next reply other threads:[~2010-08-16 14:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-16 14:52 Peter Oberparleiter [this message]
2010-08-16 15:44 ` Switching block device elevators Mike Snitzer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C6950B3.8020702@linux.vnet.ibm.com \
--to=oberpar@linux.vnet.ibm.com \
--cc=donari75@gmail.com \
--cc=heicars2@linux.vnet.ibm.com \
--cc=jaxboe@fusionio.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mschwid2@linux.vnet.ibm.com \
--cc=snitzer@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.