]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/afs/write.c
[XFS] don't leak m_fsname/m_rtname/m_logname
[linux-2.6-omap-h63xx.git] / fs / afs / write.c
index 28f37516c12600e682a1c78365bc67af6e6372f5..065b4e10681ae2e449b700ad01c9d3f1c75cd9ab 100644 (file)
@@ -8,7 +8,7 @@
  * as published by the Free Software Foundation; either version
  * 2 of the License, or (at your option) any later version.
  */
-
+#include <linux/backing-dev.h>
 #include <linux/slab.h>
 #include <linux/fs.h>
 #include <linux/pagemap.h>
@@ -206,7 +206,6 @@ int afs_prepare_write(struct file *file, struct page *page,
                        _leave(" = %d [prep]", ret);
                        return ret;
                }
-               SetPageUptodate(page);
        }
 
 try_again:
@@ -311,8 +310,8 @@ int afs_commit_write(struct file *file, struct page *page,
                spin_unlock(&vnode->writeback_lock);
        }
 
+       SetPageUptodate(page);
        set_page_dirty(page);
-
        if (PageDirty(page))
                _debug("dirtied");
 
@@ -405,7 +404,7 @@ static int afs_write_back_from_locked_page(struct afs_writeback *wb,
                        page = pages[loop];
                        if (page->index > wb->last)
                                break;
-                       if (TestSetPageLocked(page))
+                       if (!trylock_page(page))
                                break;
                        if (!PageDirty(page) ||
                            page_private(page) != (unsigned long) wb) {
@@ -511,9 +510,9 @@ int afs_writepage(struct page *page, struct writeback_control *wbc)
 /*
  * write a region of pages back to the server
  */
-int afs_writepages_region(struct address_space *mapping,
-                         struct writeback_control *wbc,
-                         pgoff_t index, pgoff_t end, pgoff_t *_next)
+static int afs_writepages_region(struct address_space *mapping,
+                                struct writeback_control *wbc,
+                                pgoff_t index, pgoff_t end, pgoff_t *_next)
 {
        struct backing_dev_info *bdi = mapping->backing_dev_info;
        struct afs_writeback *wb;