|
@@ -421,9 +421,6 @@ __writeback_single_inode(struct inode *inode, struct writeback_control *wbc)
|
|
* If we're a pdlfush thread, then implement pdflush collision avoidance
|
|
* If we're a pdlfush thread, then implement pdflush collision avoidance
|
|
* against the entire list.
|
|
* against the entire list.
|
|
*
|
|
*
|
|
- * WB_SYNC_HOLD is a hack for sys_sync(): reattach the inode to sb->s_dirty so
|
|
|
|
- * that it can be located for waiting on in __writeback_single_inode().
|
|
|
|
- *
|
|
|
|
* If `bdi' is non-zero then we're being asked to writeback a specific queue.
|
|
* If `bdi' is non-zero then we're being asked to writeback a specific queue.
|
|
* This function assumes that the blockdev superblock's inodes are backed by
|
|
* This function assumes that the blockdev superblock's inodes are backed by
|
|
* a variety of queues, so all inodes are searched. For other superblocks,
|
|
* a variety of queues, so all inodes are searched. For other superblocks,
|
|
@@ -499,10 +496,6 @@ void generic_sync_sb_inodes(struct super_block *sb,
|
|
__iget(inode);
|
|
__iget(inode);
|
|
pages_skipped = wbc->pages_skipped;
|
|
pages_skipped = wbc->pages_skipped;
|
|
__writeback_single_inode(inode, wbc);
|
|
__writeback_single_inode(inode, wbc);
|
|
- if (wbc->sync_mode == WB_SYNC_HOLD) {
|
|
|
|
- inode->dirtied_when = jiffies;
|
|
|
|
- list_move(&inode->i_list, &sb->s_dirty);
|
|
|
|
- }
|
|
|
|
if (current_is_pdflush())
|
|
if (current_is_pdflush())
|
|
writeback_release(bdi);
|
|
writeback_release(bdi);
|
|
if (wbc->pages_skipped != pages_skipped) {
|
|
if (wbc->pages_skipped != pages_skipped) {
|
|
@@ -588,8 +581,7 @@ restart:
|
|
|
|
|
|
/*
|
|
/*
|
|
* writeback and wait upon the filesystem's dirty inodes. The caller will
|
|
* writeback and wait upon the filesystem's dirty inodes. The caller will
|
|
- * do this in two passes - one to write, and one to wait. WB_SYNC_HOLD is
|
|
|
|
- * used to park the written inodes on sb->s_dirty for the wait pass.
|
|
|
|
|
|
+ * do this in two passes - one to write, and one to wait.
|
|
*
|
|
*
|
|
* A finite limit is set on the number of pages which will be written.
|
|
* A finite limit is set on the number of pages which will be written.
|
|
* To prevent infinite livelock of sys_sync().
|
|
* To prevent infinite livelock of sys_sync().
|
|
@@ -600,7 +592,7 @@ restart:
|
|
void sync_inodes_sb(struct super_block *sb, int wait)
|
|
void sync_inodes_sb(struct super_block *sb, int wait)
|
|
{
|
|
{
|
|
struct writeback_control wbc = {
|
|
struct writeback_control wbc = {
|
|
- .sync_mode = wait ? WB_SYNC_ALL : WB_SYNC_HOLD,
|
|
|
|
|
|
+ .sync_mode = wait ? WB_SYNC_ALL : WB_SYNC_NONE,
|
|
.range_start = 0,
|
|
.range_start = 0,
|
|
.range_end = LLONG_MAX,
|
|
.range_end = LLONG_MAX,
|
|
};
|
|
};
|