Red Hat Bugzilla – Bug 166363
cciss disk dump hangs if module is ever unloaded/reloaded
Last modified: 2007-11-30 17:07:08 EST
While debugging the last cciss disk dump problem I experienced a new problem: service diskdump start rmmod cciss insmod cciss echo c > /proc/sysrq-trigger The systems gets to "start dumping" and hangs, with no dump created. The pointers that are set up in diskdump/block_dump are no longer valid when cciss is unloaded and then reloaded. The solution is to prevent the cciss driver from being unloaded if it is being used by disk dump. This is already done correctly in scsi_dump. I tested this patch (as did HP). I confirmed the cciss usage count is incremented when diskdump is started/stopped. The cciss module can not be unloaded while the diskdump service is active on the cciss device. Dumps work as expected. This code is similar to what is in scsi_dump.c. An ACK from people familiar with that code would be particularly helpful. It would be reasonable to put this is U6, since the risk is low, and it is a fix for functionality committed in U6. If it does not make it, then we will have to release note the problem, and fix it in U7.
Created attachment 117924 [details] the patch
A fix for this problem has just been committed to the RHEL3 U7 patch pool this evening (in kernel version 2.4.21-37.1.EL).
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2006-0144.html