From 1d61bf71a28aba3beaaecff69617621add3613a9 Mon Sep 17 00:00:00 2001 From: Namhyung Kim Date: Tue, 26 Oct 2010 14:21:58 -0700 Subject: [PATCH] --- yaml --- r: 217475 b: refs/heads/master c: 0116651c85e671a693dd2f56e95dd651f746c973 h: refs/heads/master i: 217473: 48e0b34d04fa5b04db53255bc95052be594504b6 217471: 094a9c4ba9fd4ec456b259155086811fe508d23a v: v3 --- [refs] | 2 +- trunk/mm/filemap.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 4a772bcf94ae..9b0a4ddf996f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 68da336a14e16c2de95e987f3200995b707d7038 +refs/heads/master: 0116651c85e671a693dd2f56e95dd651f746c973 diff --git a/trunk/mm/filemap.c b/trunk/mm/filemap.c index 33f81252a744..75572b5f2374 100644 --- a/trunk/mm/filemap.c +++ b/trunk/mm/filemap.c @@ -2193,12 +2193,12 @@ generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov, } if (written > 0) { - loff_t end = pos + written; - if (end > i_size_read(inode) && !S_ISBLK(inode->i_mode)) { - i_size_write(inode, end); + pos += written; + if (pos > i_size_read(inode) && !S_ISBLK(inode->i_mode)) { + i_size_write(inode, pos); mark_inode_dirty(inode); } - *ppos = end; + *ppos = pos; } out: return written;