Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
6885f788
Commit
6885f788
authored
Jul 23, 2002
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/home/axboe/BK/linux-2.5-block
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
44ce4c74
eeda2160
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
19 additions
and
6 deletions
+19
-6
drivers/block/cciss.c
drivers/block/cciss.c
+1
-1
drivers/block/cpqarray.c
drivers/block/cpqarray.c
+1
-1
drivers/block/ll_rw_blk.c
drivers/block/ll_rw_blk.c
+16
-4
include/linux/blkdev.h
include/linux/blkdev.h
+1
-0
No files found.
drivers/block/cciss.c
View file @
6885f788
...
@@ -1863,7 +1863,7 @@ static void do_cciss_request(request_queue_t *q)
...
@@ -1863,7 +1863,7 @@ static void do_cciss_request(request_queue_t *q)
goto
queue
;
goto
queue
;
startio:
startio:
blk_stop_queue
(
q
);
__
blk_stop_queue
(
q
);
start_io
(
h
);
start_io
(
h
);
}
}
...
...
drivers/block/cpqarray.c
View file @
6885f788
...
@@ -918,7 +918,7 @@ DBGPX( printk("Submitting %d sectors in %d segments\n", creq->nr_sectors, seg);
...
@@ -918,7 +918,7 @@ DBGPX( printk("Submitting %d sectors in %d segments\n", creq->nr_sectors, seg);
goto
queue_next
;
goto
queue_next
;
startio:
startio:
blk_stop_queue
(
q
);
__
blk_stop_queue
(
q
);
start_io
(
h
);
start_io
(
h
);
}
}
...
...
drivers/block/ll_rw_blk.c
View file @
6885f788
...
@@ -900,7 +900,8 @@ void generic_unplug_device(void *data)
...
@@ -900,7 +900,8 @@ void generic_unplug_device(void *data)
* Description:
* Description:
* blk_start_queue() will clear the stop flag on the queue, and call
* blk_start_queue() will clear the stop flag on the queue, and call
* the request_fn for the queue if it was in a stopped state when
* the request_fn for the queue if it was in a stopped state when
* entered. Also see blk_stop_queue()
* entered. Also see blk_stop_queue(). Must not be called from driver
* request function due to recursion issues.
**/
**/
void
blk_start_queue
(
request_queue_t
*
q
)
void
blk_start_queue
(
request_queue_t
*
q
)
{
{
...
@@ -914,6 +915,18 @@ void blk_start_queue(request_queue_t *q)
...
@@ -914,6 +915,18 @@ void blk_start_queue(request_queue_t *q)
}
}
}
}
/**
* __blk_stop_queue: see blk_stop_queue()
*
* Description:
* Like blk_stop_queue(), bust queue_lock must be held
**/
void
__blk_stop_queue
(
request_queue_t
*
q
)
{
blk_remove_plug
(
q
);
set_bit
(
QUEUE_FLAG_STOPPED
,
&
q
->
queue_flags
);
}
/**
/**
* blk_stop_queue - stop a queue
* blk_stop_queue - stop a queue
* @q: The &request_queue_t in question
* @q: The &request_queue_t in question
...
@@ -933,10 +946,8 @@ void blk_stop_queue(request_queue_t *q)
...
@@ -933,10 +946,8 @@ void blk_stop_queue(request_queue_t *q)
unsigned
long
flags
;
unsigned
long
flags
;
spin_lock_irqsave
(
q
->
queue_lock
,
flags
);
spin_lock_irqsave
(
q
->
queue_lock
,
flags
);
blk_remove_plug
(
q
);
__blk_stop_queue
(
q
);
spin_unlock_irqrestore
(
q
->
queue_lock
,
flags
);
spin_unlock_irqrestore
(
q
->
queue_lock
,
flags
);
set_bit
(
QUEUE_FLAG_STOPPED
,
&
q
->
queue_flags
);
}
}
/**
/**
...
@@ -2089,4 +2100,5 @@ EXPORT_SYMBOL(blk_queue_invalidate_tags);
...
@@ -2089,4 +2100,5 @@ EXPORT_SYMBOL(blk_queue_invalidate_tags);
EXPORT_SYMBOL
(
blk_start_queue
);
EXPORT_SYMBOL
(
blk_start_queue
);
EXPORT_SYMBOL
(
blk_stop_queue
);
EXPORT_SYMBOL
(
blk_stop_queue
);
EXPORT_SYMBOL
(
__blk_stop_queue
);
EXPORT_SYMBOL
(
blk_run_queues
);
EXPORT_SYMBOL
(
blk_run_queues
);
include/linux/blkdev.h
View file @
6885f788
...
@@ -295,6 +295,7 @@ extern inline int blk_hw_contig_segment(request_queue_t *q, struct bio *, struct
...
@@ -295,6 +295,7 @@ extern inline int blk_hw_contig_segment(request_queue_t *q, struct bio *, struct
extern
int
block_ioctl
(
struct
block_device
*
,
unsigned
int
,
unsigned
long
);
extern
int
block_ioctl
(
struct
block_device
*
,
unsigned
int
,
unsigned
long
);
extern
void
blk_start_queue
(
request_queue_t
*
q
);
extern
void
blk_start_queue
(
request_queue_t
*
q
);
extern
void
blk_stop_queue
(
request_queue_t
*
q
);
extern
void
blk_stop_queue
(
request_queue_t
*
q
);
extern
void
__blk_stop_queue
(
request_queue_t
*
q
);
/*
/*
* get ready for proper ref counting
* get ready for proper ref counting
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment