}
/* Otherwise we have to read-modify-write the inode */
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, ino, &inode);
if (err)
return translate_error(fs, ino, err);
increment_version(&inode);
EXT4_INODE_SET_XTIME(i_ctime, &now, &inode);
- err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, ino, &inode);
if (err)
return translate_error(fs, ino, err);
if (!(fs->flags & EXT2_FLAG_RW))
return 0;
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, ino, &inode);
if (err)
return translate_error(fs, ino, err);
return 0;
EXT4_INODE_SET_XTIME(i_atime, &now, &inode);
- err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, ino, &inode);
if (err)
return translate_error(fs, ino, err);
return 0;
}
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, ino, &inode);
if (err)
return translate_error(fs, ino, err);
EXT4_INODE_SET_XTIME(i_ctime, &now, &inode);
increment_version(&inode);
- err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, ino, &inode);
if (err)
return translate_error(fs, ino, err);
int ret = 0;
struct timespec tv;
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, ino, &inode);
if (err)
return translate_error(fs, ino, err);
inode.i_generation = ff->next_generation++;
init_times(&inode);
- err = ext2fs_write_inode_full(fs, child, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, child, &inode);
if (err) {
ret = translate_error(fs, child, err);
goto out2;
goto out2;
/* Is the parent dir sgid? */
- err = ext2fs_read_inode_full(fs, parent, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, parent, &inode);
if (err) {
ret = translate_error(fs, parent, err);
goto out2;
dbg_printf(ff, "%s: created ino=%d/path=%s in dir=%d\n", __func__, child,
node_name, parent);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, child, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, child, &inode);
if (err) {
ret = translate_error(fs, child, err);
goto out2;
inode.i_generation = ff->next_generation++;
init_times(&inode);
- err = ext2fs_write_inode_full(fs, child, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, child, &inode);
if (err) {
ret = translate_error(fs, child, err);
goto out2;
struct ext2_inode_large inode;
int ret = 0;
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out;
LINUX_S_ISDIR(inode.i_mode));
write_out:
- err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out;
if (rds.parent) {
dbg_printf(ff, "%s: decr dir=%d link count\n", __func__,
rds.parent);
- err = ext2fs_read_inode_full(fs, rds.parent,
- EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, rds.parent, &inode);
if (err) {
ret = translate_error(fs, rds.parent, err);
goto out;
ret = update_mtime(fs, rds.parent, &inode);
if (ret)
goto out;
- err = ext2fs_write_inode_full(fs, rds.parent,
- EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, rds.parent, &inode);
if (err) {
ret = translate_error(fs, rds.parent, err);
goto out;
dbg_printf(ff, "%s: symlinking ino=%d/name=%s to dir=%d\n", __func__,
child, node_name, parent);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, child, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, child, &inode);
if (err) {
ret = translate_error(fs, child, err);
goto out2;
inode.i_generation = ff->next_generation++;
init_times(&inode);
- err = ext2fs_write_inode_full(fs, child, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, child, &inode);
if (err) {
ret = translate_error(fs, child, err);
goto out2;
goto out2;
}
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out2;
if (ret)
goto out2;
- err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out2;
}
dbg_printf(ff, "%s: path=%s mode=0%o ino=%d\n", __func__, path, mode, ino);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out;
if (ret)
goto out;
- err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out;
dbg_printf(ff, "%s: path=%s owner=%d group=%d ino=%d\n", __func__,
path, owner, group, ino);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out;
if (ret)
goto out;
- err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out;
inode.i_generation = ff->next_generation++;
init_times(&inode);
- err = ext2fs_write_inode_full(fs, child, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, child, &inode);
if (err) {
ret = translate_error(fs, child, err);
goto out2;
if (ret)
goto out;
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out;
if (ret)
goto out;
- err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, ino, &inode);
if (err) {
ret = translate_error(fs, ino, err);
goto out;
FUSE2FS_CHECK_MAGIC(fs, fh, FUSE2FS_FILE_MAGIC);
dbg_printf(ff, "%s: ino=%d\n", __func__, fh->ino);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
FUSE2FS_CHECK_MAGIC(fs, fh, FUSE2FS_FILE_MAGIC);
dbg_printf(ff, "%s: ino=%d\n", __func__, fh->ino);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
if (ret)
return ret;
- err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
FUSE2FS_CHECK_MAGIC(fs, fh, FUSE2FS_FILE_MAGIC);
dbg_printf(ff, "%s: ino=%d\n", __func__, fh->ino);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
FUSE2FS_CHECK_MAGIC(fs, fh, FUSE2FS_FILE_MAGIC);
dbg_printf(ff, "%s: ino=%d\n", __func__, fh->ino);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
if (ret)
return ret;
- err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
FUSE2FS_CHECK_MAGIC(fs, fh, FUSE2FS_FILE_MAGIC);
dbg_printf(ff, "%s: ino=%d\n", __func__, fh->ino);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
FUSE2FS_CHECK_MAGIC(fs, fh, FUSE2FS_FILE_MAGIC);
dbg_printf(ff, "%s: ino=%d\n", __func__, fh->ino);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
if (ret)
return ret;
- err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
if (!fs_can_allocate(ff, len / fs->blocksize))
return -ENOSPC;
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, fh->ino, &inode);
if (err)
return err;
fsize = EXT2_I_SIZE(&inode);
if (err)
return err;
- err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
dbg_printf(ff, "%s: ino=%d mode=0x%x start=%llu end=%llu\n", __func__,
fh->ino, mode, start, end);
- memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_read_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);
if (err)
return err;
- err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
- sizeof(inode));
+ err = fuse2fs_write_inode(fs, fh->ino, &inode);
if (err)
return translate_error(fs, fh->ino, err);