From 878fe26f8761a3fcd3e86c32a9aa40fa18382072 Mon Sep 17 00:00:00 2001 From: Horst Hummel Date: Mon, 10 Apr 2006 22:53:47 -0700 Subject: [PATCH] --- yaml --- r: 25485 b: refs/heads/master c: dafd87aaef7d95a6ad3ff92e0d512e5b166c0716 h: refs/heads/master i: 25483: 2214fec1dc29f64dd09a466026d780d1ccad9454 v: v3 --- [refs] | 2 +- trunk/drivers/s390/block/dasd.c | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 194d623cc706..7ad5596b6fc7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 06fbcb104ad16c22eb5718ae598b306c777be8af +refs/heads/master: dafd87aaef7d95a6ad3ff92e0d512e5b166c0716 diff --git a/trunk/drivers/s390/block/dasd.c b/trunk/drivers/s390/block/dasd.c index 0a9f12c4e911..170aae004ceb 100644 --- a/trunk/drivers/s390/block/dasd.c +++ b/trunk/drivers/s390/block/dasd.c @@ -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)) @@ -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;