ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments()
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 9 Jun 2017 03:27:12 +0000 (23:27 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 9 Jun 2017 20:28:01 +0000 (16:28 -0400)
... and it really needs splitting into "new" and "extend" cases, but that's for
later

Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ufs/inode.c

index feb5f280db09f2dcf16c863a52d916bbfbb5bef3..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;
 }