Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Kernel v2.6.25-git19 /mm/truncate.c

Filename:/mm/truncate.c
Lines Added:8
Lines Deleted:3
Also changed in: (Previous) 2.6.25-git18  2.6.25-git17  2.6.25-git16  2.6.25-git15  2.6.25-git14  2.6.25-git13 
(Following) 2.6.25-git20  2.6.26-rc1  2.6.26-rc2  2.6.26-rc3  2.6.26-rc4  2.6.26-rc5 

Location
[  2.6.25-git19
  [  mm
     o  truncate.c

Patch

diff --git a/mm/truncate.c b/mm/truncate.c
index 7d20ce4..b8961cb 100644
--- a/mm/truncate.c
+++ b/mm/truncate.c
@@ -391,6 +391,7 @@ int invalidate_inode_pages2_range(struct address_space *mapping,
    pgoff_t next;
    int i;
    int ret = 0;
+   int ret2 = 0;
    int did_range_unmap = 0;
    int wrapped = 0;
 
@@ -438,9 +439,13 @@ int invalidate_inode_pages2_range(struct address_space *mapping,
             }
          }
          BUG_ON(page_mapped(page));
-         ret = do_launder_page(mapping, page);
-         if (ret == 0 && !invalidate_complete_page2(mapping, page))
-            ret = -EIO;
+         ret2 = do_launder_page(mapping, page);
+         if (ret2 == 0) {
+            if (!invalidate_complete_page2(mapping, page))
+               ret2 = -EIO;
+         }
+         if (ret2 < 0)
+            ret = ret2;
          unlock_page(page);
       }
       pagevec_release(&pvec);


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.