public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] unneeded readpage in block_symlink
@ 2002-05-02 18:43 Andrew Morton
  0 siblings, 0 replies; only message in thread
From: Andrew Morton @ 2002-05-02 18:43 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: lkml

The new consistency checks in buffer.c are complaining about
block_symlink's ->readpage against an already uptodate
page.


--- 2.5.12/fs/buffer.c~block_symlink_fix	Thu May  2 10:27:42 2002
+++ 2.5.12-akpm/fs/buffer.c	Thu May  2 10:30:37 2002
@@ -2155,8 +2155,12 @@ int block_symlink(struct inode *inode, c
 	 * ->i_size will be enough for everything) and zero it out.
 	 * OTOH it's obviously correct and should make the page up-to-date.
 	 */
-	err = mapping->a_ops->readpage(NULL, page);
-	wait_on_page_locked(page);
+	if (!PageUptodate(page)) {
+		err = mapping->a_ops->readpage(NULL, page);
+		wait_on_page_locked(page);
+	} else {
+		unlock_page(page);
+	}
 	page_cache_release(page);
 	if (err < 0)
 		goto fail;


I've also received a report of a dirty unmapped buffer outside
i_size with ext3.   But that was against the rd.c driver, which
seems to be bust in 2.5.  This will take some hunting down.


-

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-05-02 18:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-02 18:43 [patch] unneeded readpage in block_symlink Andrew Morton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox