Merge branch 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block: (65 commits) Documentation/iostats.txt: bit-size reference etc. cfq-iosched: removing unnecessary think time checking cfq-iosched: Don't clear queue stats when preempt. blk-throttle: Reset group slice when limits are changed blk-cgroup: Only give unaccounted_time under debug cfq-iosched: Don't set active queue in preempt block: fix non-atomic access to genhd inflight structures block: attempt to merge with existing requests on plug flush block: NULL dereference on error path in __blkdev_get() cfq-iosched: Don't update group weights when on service tree fs: assign sb->s_bdi to default_backing_dev_info if the bdi is going away block: Require subsystems to explicitly allocate bio_set integrity mempool jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging fs: make fsync_buffers_list() plug mm: make generic_writepages() use plugging blk-cgroup: Add unaccounted time to timeslice_used. block: fixup plugging stubs for !CONFIG_BLOCK block: remove obsolete comments for blkdev_issue_zeroout. blktrace: Use rq->cmd_flags directly in blk_add_trace_rq. ... Fix up conflicts in fs/{aio.c,super.c}
This commit is contained in:
@@ -695,20 +695,22 @@ static int i2o_block_ioctl(struct block_device *bdev, fmode_t mode,
|
||||
};
|
||||
|
||||
/**
|
||||
* i2o_block_media_changed - Have we seen a media change?
|
||||
* i2o_block_check_events - Have we seen a media change?
|
||||
* @disk: gendisk which should be verified
|
||||
* @clearing: events being cleared
|
||||
*
|
||||
* Verifies if the media has changed.
|
||||
*
|
||||
* Returns 1 if the media was changed or 0 otherwise.
|
||||
*/
|
||||
static int i2o_block_media_changed(struct gendisk *disk)
|
||||
static unsigned int i2o_block_check_events(struct gendisk *disk,
|
||||
unsigned int clearing)
|
||||
{
|
||||
struct i2o_block_device *p = disk->private_data;
|
||||
|
||||
if (p->media_change_flag) {
|
||||
p->media_change_flag = 0;
|
||||
return 1;
|
||||
return DISK_EVENT_MEDIA_CHANGE;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -895,11 +897,7 @@ static void i2o_block_request_fn(struct request_queue *q)
|
||||
{
|
||||
struct request *req;
|
||||
|
||||
while (!blk_queue_plugged(q)) {
|
||||
req = blk_peek_request(q);
|
||||
if (!req)
|
||||
break;
|
||||
|
||||
while ((req = blk_peek_request(q)) != NULL) {
|
||||
if (req->cmd_type == REQ_TYPE_FS) {
|
||||
struct i2o_block_delayed_request *dreq;
|
||||
struct i2o_block_request *ireq = req->special;
|
||||
@@ -950,7 +948,7 @@ static const struct block_device_operations i2o_block_fops = {
|
||||
.ioctl = i2o_block_ioctl,
|
||||
.compat_ioctl = i2o_block_ioctl,
|
||||
.getgeo = i2o_block_getgeo,
|
||||
.media_changed = i2o_block_media_changed
|
||||
.check_events = i2o_block_check_events,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1002,6 +1000,7 @@ static struct i2o_block_device *i2o_block_device_alloc(void)
|
||||
gd->major = I2O_MAJOR;
|
||||
gd->queue = queue;
|
||||
gd->fops = &i2o_block_fops;
|
||||
gd->events = DISK_EVENT_MEDIA_CHANGE;
|
||||
gd->private_data = dev;
|
||||
|
||||
dev->gd = gd;
|
||||
|
Reference in New Issue
Block a user