diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-14 11:10:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-14 11:10:21 -0400 |
commit | d429a3639ca967ce2f35e3e8d4e70caec7149ded (patch) | |
tree | cad1e5602551b6a744f63ef062de2c2e21cfe39a /block | |
parent | 4a319a490ca59a746b3d36768c0e29ee19832366 (diff) | |
parent | 99d540018caa920b7a54e2d3048f1dff530b294b (diff) |
Merge branch 'for-3.17/drivers' of git://git.kernel.dk/linux-block
Pull block driver changes from Jens Axboe:
"Nothing out of the ordinary here, this pull request contains:
- A big round of fixes for bcache from Kent Overstreet, Slava Pestov,
and Surbhi Palande. No new features, just a lot of fixes.
- The usual round of drbd updates from Andreas Gruenbacher, Lars
Ellenberg, and Philipp Reisner.
- virtio_blk was converted to blk-mq back in 3.13, but now Ming Lei
has taken it one step further and added support for actually using
more than one queue.
- Addition of an explicit SG_FLAG_Q_AT_HEAD for block/bsg, to
compliment the the default behavior of adding to the tail of the
queue. From Douglas Gilbert"
* 'for-3.17/drivers' of git://git.kernel.dk/linux-block: (86 commits)
bcache: Drop unneeded blk_sync_queue() calls
bcache: add mutex lock for bch_is_open
bcache: Correct printing of btree_gc_max_duration_ms
bcache: try to set b->parent properly
bcache: fix memory corruption in init error path
bcache: fix crash with incomplete cache set
bcache: Fix more early shutdown bugs
bcache: fix use-after-free in btree_gc_coalesce()
bcache: Fix an infinite loop in journal replay
bcache: fix crash in bcache_btree_node_alloc_fail tracepoint
bcache: bcache_write tracepoint was crashing
bcache: fix typo in bch_bkey_equal_header
bcache: Allocate bounce buffers with GFP_NOWAIT
bcache: Make sure to pass GFP_WAIT to mempool_alloc()
bcache: fix uninterruptible sleep in writeback thread
bcache: wait for buckets when allocating new btree root
bcache: fix crash on shutdown in passthrough mode
bcache: fix lockdep warnings on shutdown
bcache allocator: send discards with correct size
bcache: Fix to remove the rcu_sched stalls.
...
Diffstat (limited to 'block')
-rw-r--r-- | block/scsi_ioctl.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c index bda1497add4c..51bf5155ee75 100644 --- a/block/scsi_ioctl.c +++ b/block/scsi_ioctl.c | |||
@@ -290,6 +290,7 @@ static int sg_io(struct request_queue *q, struct gendisk *bd_disk, | |||
290 | unsigned long start_time; | 290 | unsigned long start_time; |
291 | ssize_t ret = 0; | 291 | ssize_t ret = 0; |
292 | int writing = 0; | 292 | int writing = 0; |
293 | int at_head = 0; | ||
293 | struct request *rq; | 294 | struct request *rq; |
294 | char sense[SCSI_SENSE_BUFFERSIZE]; | 295 | char sense[SCSI_SENSE_BUFFERSIZE]; |
295 | struct bio *bio; | 296 | struct bio *bio; |
@@ -313,6 +314,8 @@ static int sg_io(struct request_queue *q, struct gendisk *bd_disk, | |||
313 | case SG_DXFER_FROM_DEV: | 314 | case SG_DXFER_FROM_DEV: |
314 | break; | 315 | break; |
315 | } | 316 | } |
317 | if (hdr->flags & SG_FLAG_Q_AT_HEAD) | ||
318 | at_head = 1; | ||
316 | 319 | ||
317 | rq = blk_get_request(q, writing ? WRITE : READ, GFP_KERNEL); | 320 | rq = blk_get_request(q, writing ? WRITE : READ, GFP_KERNEL); |
318 | if (!rq) | 321 | if (!rq) |
@@ -369,7 +372,7 @@ static int sg_io(struct request_queue *q, struct gendisk *bd_disk, | |||
369 | * (if he doesn't check that is his problem). | 372 | * (if he doesn't check that is his problem). |
370 | * N.B. a non-zero SCSI status is _not_ necessarily an error. | 373 | * N.B. a non-zero SCSI status is _not_ necessarily an error. |
371 | */ | 374 | */ |
372 | blk_execute_rq(q, bd_disk, rq, 0); | 375 | blk_execute_rq(q, bd_disk, rq, at_head); |
373 | 376 | ||
374 | hdr->duration = jiffies_to_msecs(jiffies - start_time); | 377 | hdr->duration = jiffies_to_msecs(jiffies - start_time); |
375 | 378 | ||