Skip to content

Commit

Permalink
[PATCH] s390: dasd device offline messages
Browse files Browse the repository at this point in the history
The dasd driver sometimes print the misleading message "Can't offline dasd
device with open count = 0".  The reason why it can't offline the device in
this case is that the device is still in the startup phase.  Print a more
meaningful message.

Signed-off-by: Horst Hummel <horst.hummel@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Horst Hummel authored and Linus Torvalds committed Apr 11, 2006
1 parent 06fbcb1 commit dafd87a
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions drivers/s390/block/dasd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1968,7 +1968,7 @@ int
dasd_generic_set_offline (struct ccw_device *cdev)
{
struct dasd_device *device;
int max_count;
int max_count, open_count;

device = dasd_device_from_cdev(cdev);
if (IS_ERR(device))
Expand All @@ -1985,10 +1985,16 @@ dasd_generic_set_offline (struct ccw_device *cdev)
* in the other openers.
*/
max_count = device->bdev ? 0 : -1;
if (atomic_read(&device->open_count) > max_count) {
printk (KERN_WARNING "Can't offline dasd device with open"
" count = %i.\n",
atomic_read(&device->open_count));
open_count = (int) atomic_read(&device->open_count);
if (open_count > max_count) {
if (open_count > 0)
printk (KERN_WARNING "Can't offline dasd device with "
"open count = %i.\n",
open_count);
else
printk (KERN_WARNING "%s",
"Can't offline dasd device due to internal "
"use\n");
clear_bit(DASD_FLAG_OFFLINE, &device->flags);
dasd_put_device(device);
return -EBUSY;
Expand Down

0 comments on commit dafd87a

Please sign in to comment.