aboutsummaryrefslogtreecommitdiffstats
path: root/fs/buffer.c
diff options
context:
space:
mode:
authorJens Axboe <jaxboe@fusionio.com>2011-03-09 05:56:30 -0500
committerJens Axboe <jaxboe@fusionio.com>2011-03-10 02:52:27 -0500
commit721a9602e6607417c6bc15b18e97a2f35266c690 (patch)
tree4987991e43f35b8b3b685fea0040c5265b578996 /fs/buffer.c
parentcf15900e1209d5b46ec2d24643adbf561830935f (diff)
block: kill off REQ_UNPLUG
With the plugging now being explicitly controlled by the submitter, callers need not pass down unplugging hints to the block layer. If they want to unplug, it's because they manually plugged on their own - in which case, they should just unplug at will. Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'fs/buffer.c')
-rw-r--r--fs/buffer.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/fs/buffer.c b/fs/buffer.c
index f903f2e5b4fe..42534f67d71b 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -767,7 +767,7 @@ static int fsync_buffers_list(spinlock_t *lock, struct list_head *list)
767 * still in flight on potentially older 767 * still in flight on potentially older
768 * contents. 768 * contents.
769 */ 769 */
770 write_dirty_buffer(bh, WRITE_SYNC_PLUG); 770 write_dirty_buffer(bh, WRITE_SYNC);
771 771
772 /* 772 /*
773 * Kick off IO for the previous mapping. Note 773 * Kick off IO for the previous mapping. Note
@@ -1602,14 +1602,8 @@ EXPORT_SYMBOL(unmap_underlying_metadata);
1602 * prevents this contention from occurring. 1602 * prevents this contention from occurring.
1603 * 1603 *
1604 * If block_write_full_page() is called with wbc->sync_mode == 1604 * If block_write_full_page() is called with wbc->sync_mode ==
1605 * WB_SYNC_ALL, the writes are posted using WRITE_SYNC_PLUG; this 1605 * WB_SYNC_ALL, the writes are posted using WRITE_SYNC; this
1606 * causes the writes to be flagged as synchronous writes, but the 1606 * causes the writes to be flagged as synchronous writes.
1607 * block device queue will NOT be unplugged, since usually many pages
1608 * will be pushed to the out before the higher-level caller actually
1609 * waits for the writes to be completed. The various wait functions,
1610 * such as wait_on_writeback_range() will ultimately call sync_page()
1611 * which will ultimately call blk_run_backing_dev(), which will end up
1612 * unplugging the device queue.
1613 */ 1607 */
1614static int __block_write_full_page(struct inode *inode, struct page *page, 1608static int __block_write_full_page(struct inode *inode, struct page *page,
1615 get_block_t *get_block, struct writeback_control *wbc, 1609 get_block_t *get_block, struct writeback_control *wbc,
@@ -1622,7 +1616,7 @@ static int __block_write_full_page(struct inode *inode, struct page *page,
1622 const unsigned blocksize = 1 << inode->i_blkbits; 1616 const unsigned blocksize = 1 << inode->i_blkbits;
1623 int nr_underway = 0; 1617 int nr_underway = 0;
1624 int write_op = (wbc->sync_mode == WB_SYNC_ALL ? 1618 int write_op = (wbc->sync_mode == WB_SYNC_ALL ?
1625 WRITE_SYNC_PLUG : WRITE); 1619 WRITE_SYNC : WRITE);
1626 1620
1627 BUG_ON(!PageLocked(page)); 1621 BUG_ON(!PageLocked(page));
1628 1622