* [patch 6/18] relax nr_to_write requirements
@ 2002-05-26 20:41 Andrew Morton
0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2002-05-26 20:41 UTC (permalink / raw)
To: Linus Torvalds; +Cc: lkml
Relax the requirements on the writeback_mapping a_op.
This function is passed the number of pages which it should write. The
current fs-writeback.c code will get confused if the address_space
writes back more pages than it was asked to.
With this change the address_space may write more pages than required
if that is convenient. Extent-based fileystems may wish to do this.
=====================================
--- 2.5.18/fs/fs-writeback.c~relax-nr-to_write Sat May 25 23:26:46 2002
+++ 2.5.18-akpm/fs/fs-writeback.c Sun May 26 00:50:19 2002
@@ -257,7 +257,7 @@ static void sync_sb_inodes(struct super_
if (current_is_pdflush())
writeback_release(bdi);
- if (nr_to_write && *nr_to_write == 0)
+ if (nr_to_write && *nr_to_write <= 0)
break;
}
out:
@@ -301,7 +301,7 @@ void writeback_unlocked_inodes(int *nr_t
older_than_this);
spin_lock(&sb_lock);
}
- if (nr_to_write && *nr_to_write == 0)
+ if (nr_to_write && *nr_to_write <= 0)
break;
}
spin_unlock(&sb_lock);
--- 2.5.18/Documentation/filesystems/Locking~relax-nr-to_write Sat May 25 23:26:46 2002
+++ 2.5.18-akpm/Documentation/filesystems/Locking Sun May 26 00:50:22 2002
@@ -179,11 +179,12 @@ existing instances of this method ->sync
well-defined...
->writeback_mapping() is used for periodic writeback and for
-systemcall-initiated sync operations. The address_space should start
-I/O against at least *nr_to_write pages. *nr_to_write must be decremented
-for each page which is written. *nr_to_write must not go negative (this
-will be relaxed later). If nr_to_write is NULL, all dirty pages must
-be written.
+systemcall-initiated sync operations. The address_space should start
+I/O against at least *nr_to_write pages. *nr_to_write must be
+decremented for each page which is written. The address_space
+implementation may write more (or less) pages than *nr_to_write asks
+for, but it should try to be reasonably close. If nr_to_write is NULL,
+all dirty pages must be written.
->vm_writeback() is called from the VM. The address_space should
start I/O against at least *nr_to_write pages, including the passed page. As
-
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-05-26 20:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-26 20:41 [patch 6/18] relax nr_to_write requirements Andrew Morton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.