]> git.neil.brown.name Git - LaFS.git/commitdiff
lafs_write_end: set new file size correctly.
authorNeilBrown <neilb@suse.de>
Fri, 13 Aug 2010 03:55:46 +0000 (13:55 +1000)
committerNeilBrown <neilb@suse.de>
Fri, 13 Aug 2010 03:55:46 +0000 (13:55 +1000)
We were setting the size to the start of the write, not the end!!

Signed-off-by: NeilBrown <neilb@suse.de>
file.c

diff --git a/file.c b/file.c
index 60c0c58f8eea620d71e041c5b260f5469a49f26b..fcbf9bdd1ca50c62ec1665810b7fd6b73ccbf93c 100644 (file)
--- a/file.c
+++ b/file.c
@@ -268,8 +268,8 @@ lafs_write_end(struct file *file,
         * No need to use i_size_read() here, the i_size
         * cannot change under us because we hold i_sem.
         */
-       if (pos > ino->i_size) {
-               i_size_write(ino, pos);
+       if (pos + len > ino->i_size) {
+               i_size_write(ino, pos + len);
                /* note that we deliberately don't call
                 * mark_inode_dirty(ino);
                 * The inode will automatically be written