]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/ufs/inode.c
ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments()
[karo-tx-linux.git] / fs / ufs / inode.c
index 7e41aee7b69a660914e7cb26765714746929a306..966cced0f88e7d2f6583bc85c2a8c7e0527ba0c2 100644 (file)
@@ -235,7 +235,8 @@ ufs_extend_tail(struct inode *inode, u64 writes_to,
 
        p = ufs_get_direct_data_ptr(uspi, ufsi, block);
        tmp = ufs_new_fragments(inode, p, lastfrag, ufs_data_ptr_to_cpu(sb, p),
-                               new_size, err, locked_page);
+                               new_size - (lastfrag & uspi->s_fpbmask), err,
+                               locked_page);
        return tmp != 0;
 }
 
@@ -284,7 +285,7 @@ ufs_inode_getfrag(struct inode *inode, unsigned index,
                        goal += uspi->s_fpb;
        }
        tmp = ufs_new_fragments(inode, p, ufs_blknum(new_fragment),
-                               goal, uspi->s_fpb, err, locked_page);
+                               goal, nfrags, err, locked_page);
 
        if (!tmp) {
                *err = -ENOSPC;