14 Dec, 2011
2 commits
-
blk_insert_cloned_request(), blk_execute_rq_nowait() and
blk_flush_plug_list() either didn't check whether the queue was dead
or did it without holding queue_lock. Update them so that dead state
is checked while holding queue_lock.AFAICS, this plugs all holes (requeue doesn't matter as the request is
transitioning atomically from in_flight to queued).Signed-off-by: Tejun Heo
Signed-off-by: Jens Axboe -
There are a number of QUEUE_FLAG_DEAD tests. Add blk_queue_dead()
macro and use it.This patch doesn't introduce any functional difference.
Signed-off-by: Tejun Heo
Signed-off-by: Jens Axboe
22 Jul, 2011
1 commit
-
USB surprise removal of sr is triggering an oops in
scsi_dispatch_command(). What seems to be happening is that USB is
hanging on to a queue reference until the last close of the upper
device, so the crash is caused by surprise remove of a mounted CD
followed by attempted unmount.The problem is that USB doesn't issue its final commands as part of
the SCSI teardown path, but on last close when the block queue is long
gone. The long term fix is probably to make sr do the teardown in the
same way as sd (so remove all the lower bits on ejection, but keep the
upper disk alive until last close of user space). However, the
current oops can be simply fixed by not allowing any commands to be
sent to a dead queue.Cc: stable@kernel.org
Signed-off-by: James Bottomley
06 May, 2011
1 commit
-
unplug is replaced with blk_run_queue now in blk_execute_rq_nowait,
so change the comment accordingly.Signed-off-by: Tao Ma
Signed-off-by: Jens Axboe
18 Apr, 2011
1 commit
-
Instead of overloading __blk_run_queue to force an offload to kblockd
add a new blk_run_queue_async helper to do it explicitly. I've kept
the blk_queue_stopped check for now, but I suspect it's not needed
as the check we do when the workqueue items runs should be enough.Signed-off-by: Christoph Hellwig
Signed-off-by: Jens Axboe
10 Mar, 2011
2 commits
-
Conflicts:
block/blk-core.c
block/blk-flush.c
drivers/md/raid1.c
drivers/md/raid10.c
drivers/md/raid5.c
fs/nilfs2/btnode.c
fs/nilfs2/mdt.cSigned-off-by: Jens Axboe
-
Code has been converted over to the new explicit on-stack plugging,
and delay users have been converted to use the new API for that.
So lets kill off the old plugging along with aops->sync_page().Signed-off-by: Jens Axboe
24 Sep, 2010
1 commit
-
During long I/O operations, the hang_check timer may fire,
trigger stack dumps that unnecessarily alarm the user.Eg. hdparm --security-erase NULL /dev/sdb ## can take *hours* to complete
So, if hang_check is armed, we should wake up periodically
to prevent it from triggering. This patch uses a wake-up interval
equal to half the hang_check timer period, which keeps overhead low enough.Signed-off-by: Mark Lord
Signed-off-by: Jens Axboe
08 Aug, 2010
1 commit
-
Remove all the trivial wrappers for the cmd_type and cmd_flags fields in
struct requests. This allows much easier grepping for different request
types instead of unwinding through macros.Signed-off-by: Christoph Hellwig
Signed-off-by: Jens Axboe
28 Apr, 2009
1 commit
-
RQ_NOMERGE_FLAGS already clears defines which REQ flags aren't
mergeable. There is no reason to specify it superflously. It only
adds to confusion. Don't set REQ_NOMERGE for barriers and requests
with specific queueing directive. REQ_NOMERGE is now exclusively used
by the merging code.[ Impact: cleanup ]
Signed-off-by: Tejun Heo
09 Oct, 2008
1 commit
-
…in them as needed. Fix changed function parameter names. Fix typos/spellos. In comments, change REQ_SPECIAL to REQ_TYPE_SPECIAL and REQ_BLOCK_PC to REQ_TYPE_BLOCK_PC.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
16 Jul, 2008
2 commits
-
All the users of blk_end_sync_rq has gone (they are converted to use
blk_execute_rq). This unexports blk_end_sync_rq.Signed-off-by: FUJITA Tomonori
Cc: Borislav Petkov
Signed-off-by: Jens Axboe
Signed-off-by: Bartlomiej Zolnierkiewicz -
For blk_pm_resume_request() requests (which are used only by IDE subsystem
currently) the queue is stopped so we need to call ->request_fn explicitly.Thanks to:
- Rafael for reporting/bisecting the bug
- Borislav/Rafael for testing the fixThis is a preparation for converting IDE to use blk_execute_rq().
Cc: FUJITA Tomonori
Cc: Borislav Petkov
Cc: Jens Axboe
Cc: "Rafael J. Wysocki"
Signed-off-by: Bartlomiej Zolnierkiewicz
01 Feb, 2008
1 commit
-
Signed-off-by: Jens Axboe
30 Jan, 2008
1 commit
-
Adds files for barrier handling, rq execution, io context handling,
mapping data to requests, and queue settings.Signed-off-by: Jens Axboe