]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/afs/write.c
Merge branch 'master' of /home/trondmy/repositories/git/linux-2.6/
[mv-sheeva.git] / fs / afs / write.c
index 67ae4dbf66b33793c04ed1b1763a688c7d81e480..a03b92a0fe1db9240d7b3ff4d1ffc0a92a222193 100644 (file)
@@ -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");
 
@@ -395,8 +394,9 @@ static int afs_write_back_from_locked_page(struct afs_writeback *wb,
                if (n == 0)
                        goto no_more;
                if (pages[0]->index != start) {
-                       for (n--; n >= 0; n--)
-                               put_page(pages[n]);
+                       do {
+                               put_page(pages[--n]);
+                       } while (n > 0);
                        goto no_more;
                }