return ret;
}
-static int punch_posteof(struct fuse2fs *ff, ext2_ino_t ino, off_t new_size)
+static int fuse2fs_punch_posteof(struct fuse2fs *ff, ext2_ino_t ino,
+ off_t new_size)
{
ext2_filsys fs = ff->fs;
struct ext2_inode_large inode;
if (err)
return translate_error(fs, ino, err);
+ err = fuse2fs_write_inode(fs, ino, &inode);
+ if (err)
+ return translate_error(fs, ino, err);
+
return 0;
}
-static int truncate_helper(struct fuse2fs *ff, ext2_ino_t ino, off_t new_size)
+static int fuse2fs_truncate(struct fuse2fs *ff, ext2_ino_t ino, off_t new_size)
{
ext2_filsys fs = ff->fs;
ext2_file_t file;
* we should clear out post-EOF preallocations.
*/
if (new_size == old_isize)
- return punch_posteof(ff, ino, new_size);
+ return fuse2fs_punch_posteof(ff, ino, new_size);
return 0;
}
if (ret)
goto out;
- ret = truncate_helper(ff, ino, len);
+ ret = fuse2fs_truncate(ff, ino, len);
if (ret)
goto out;
}
if (fp->flags & O_TRUNC) {
- ret = truncate_helper(ff, file->ino, 0);
+ ret = fuse2fs_truncate(ff, file->ino, 0);
if (ret)
goto out;
}