[patch] unneeded readpage in block_symlink

From: Andrew Morton (akpm@zip.com.au)
Date: Thu May 02 2002 - 13:43:28 EST


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.

-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue May 07 2002 - 22:00:15 EST