Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c26a7b70f89c36e8d9acc95cb896c3cd205fc8d
Commit:     5c26a7b70f89c36e8d9acc95cb896c3cd205fc8d
Parent:     db56246c6980e376b02d2da568d119da71f82fb9
Author:     Mark Fasheh <[EMAIL PROTECTED]>
AuthorDate: Tue Sep 18 17:49:29 2007 -0700
Committer:  Mark Fasheh <[EMAIL PROTECTED]>
CommitDate: Thu Sep 20 15:06:10 2007 -0700

    ocfs2: Don't double set write parameters
    
    The target page offsets were being incorrectly set a second time in
    ocfs2_prepare_page_for_write(), which was causing problems on a 16k page
    size kernel. Additionally, ocfs2_write_failure() was incorrectly using those
    parameters instead of the parameters for the individual page being cleaned
    up.
    
    Signed-off-by: Mark Fasheh <[EMAIL PROTECTED]>
---
 fs/ocfs2/aops.c |   16 +++-------------
 1 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
index fa43810..f37f25c 100644
--- a/fs/ocfs2/aops.c
+++ b/fs/ocfs2/aops.c
@@ -930,18 +930,11 @@ static void ocfs2_write_failure(struct inode *inode,
                                loff_t user_pos, unsigned user_len)
 {
        int i;
-       unsigned from, to;
+       unsigned from = user_pos & (PAGE_CACHE_SIZE - 1),
+               to = user_pos + user_len;
        struct page *tmppage;
 
-       ocfs2_zero_new_buffers(wc->w_target_page, user_pos, user_len);
-
-       if (wc->w_large_pages) {
-               from = wc->w_target_from;
-               to = wc->w_target_to;
-       } else {
-               from = 0;
-               to = PAGE_CACHE_SIZE;
-       }
+       ocfs2_zero_new_buffers(wc->w_target_page, from, to);
 
        for(i = 0; i < wc->w_num_pages; i++) {
                tmppage = wc->w_pages[i];
@@ -991,9 +984,6 @@ static int ocfs2_prepare_page_for_write(struct inode 
*inode, u64 *p_blkno,
                        map_from = cluster_start;
                        map_to = cluster_end;
                }
-
-               wc->w_target_from = map_from;
-               wc->w_target_to = map_to;
        } else {
                /*
                 * If we haven't allocated the new page yet, we
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to