/* Otherwise we have to read-modify-write the inode */
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(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, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(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, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(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, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, ino, err);
}
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(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, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, ino, err);
struct timespec tv;
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, ino, err);
statbuf->st_size = EXT2_I_SIZE(&inode);
statbuf->st_blksize = fs->blocksize;
statbuf->st_blocks = ext2fs_get_stat_i_blocks(fs,
- (struct ext2_inode *)&inode);
+ EXT2_INODE(&inode));
EXT4_INODE_GET_XTIME(i_atime, &tv, &inode);
#if HAVE_STRUCT_STAT_ST_ATIM
statbuf->st_atim = tv;
inode.i_gid = ctxt->gid;
ext2fs_set_i_gid_high(inode, ctxt->gid >> 16);
- err = ext2fs_write_new_inode(fs, child, (struct ext2_inode *)&inode);
+ err = ext2fs_write_new_inode(fs, child, EXT2_INODE(&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, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, child, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, child, err);
goto out2;
/* Is the parent dir sgid? */
- err = ext2fs_read_inode_full(fs, parent, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, parent, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, parent, err);
node_name, parent);
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, child, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, child, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, child, err);
inode.i_generation = ff->next_generation++;
init_times(&inode);
- err = ext2fs_write_inode_full(fs, child, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, child, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, child, err);
ret = translate_error(fs, child, err);
goto out2;
}
- err = ext2fs_bmap2(fs, child, (struct ext2_inode *)&inode, NULL, 0, 0,
+ err = ext2fs_bmap2(fs, child, EXT2_INODE(&inode), NULL, 0, 0,
NULL, &blk);
if (err) {
ret = translate_error(fs, child, err);
int ret = 0;
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, ino, err);
if (err)
goto write_out;
- if (ext2fs_inode_has_valid_blocks2(fs, (struct ext2_inode *)&inode)) {
- err = ext2fs_punch(fs, ino, (struct ext2_inode *)&inode, NULL,
+ if (ext2fs_inode_has_valid_blocks2(fs, EXT2_INODE(&inode))) {
+ err = ext2fs_punch(fs, ino, EXT2_INODE(&inode), NULL,
0, ~0ULL);
if (err) {
ret = translate_error(fs, ino, err);
LINUX_S_ISDIR(inode.i_mode));
write_out:
- err = ext2fs_write_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, ino, err);
dbg_printf(ff, "%s: decr dir=%d link count\n", __func__,
rds.parent);
err = ext2fs_read_inode_full(fs, rds.parent,
- (struct ext2_inode *)&inode,
+ EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, rds.parent, err);
if (ret)
goto out;
err = ext2fs_write_inode_full(fs, rds.parent,
- (struct ext2_inode *)&inode,
+ EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, rds.parent, err);
child, node_name, parent);
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, child, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, child, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, child, err);
inode.i_generation = ff->next_generation++;
init_times(&inode);
- err = ext2fs_write_inode_full(fs, child, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, child, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, child, err);
}
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, ino, err);
if (ret)
goto out2;
- err = ext2fs_write_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, ino, err);
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, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, ino, err);
if (ret)
goto out;
- err = ext2fs_write_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, ino, err);
path, owner, group, ino);
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, ino, err);
if (ret)
goto out;
- err = ext2fs_write_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, ino, err);
inode.i_flags &= ~EXT4_EXTENTS_FL;
ret = ext2fs_extent_open2(fs, child,
- (struct ext2_inode *)&inode, &handle);
+ EXT2_INODE(&inode), &handle);
if (ret)
return ret;
ext2fs_extent_free(handle);
}
- err = ext2fs_write_new_inode(fs, child, (struct ext2_inode *)&inode);
+ err = ext2fs_write_new_inode(fs, child, EXT2_INODE(&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, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, child, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, child, err);
goto out;
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, ino, err);
if (ret)
goto out;
- err = ext2fs_write_inode_full(fs, ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, ino, EXT2_INODE(&inode),
sizeof(inode));
if (err) {
ret = translate_error(fs, 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, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(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, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, fh->ino, err);
if (ret)
return ret;
- err = ext2fs_write_inode_full(fs, fh->ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(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, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(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, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, fh->ino, err);
if (ret)
return ret;
- err = ext2fs_write_inode_full(fs, fh->ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(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, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(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, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, fh->ino, err);
if (ret)
return ret;
- err = ext2fs_write_inode_full(fs, fh->ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, fh->ino, err);
return -ENOSPC;
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return err;
flags = (mode & FL_KEEP_SIZE_FLAG ? 0 :
EXT2_FALLOCATE_INIT_BEYOND_EOF);
err = ext2fs_fallocate(fs, flags, fh->ino,
- (struct ext2_inode *)&inode,
+ EXT2_INODE(&inode),
~0ULL, start, end - start + 1);
if (err && err != EXT2_ET_BLOCK_ALLOC_FAIL)
return translate_error(fs, fh->ino, err);
if (!(mode & FL_KEEP_SIZE_FLAG)) {
if ((__u64) offset + len > fsize) {
err = ext2fs_inode_size_set(fs,
- (struct ext2_inode *)&inode,
+ EXT2_INODE(&inode),
offset + len);
if (err)
return translate_error(fs, fh->ino, err);
if (err)
return err;
- err = ext2fs_write_inode_full(fs, fh->ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, fh->ino, err);
return err;
}
- err = ext2fs_bmap2(fs, ino, (struct ext2_inode *)inode, *buf, 0,
+ err = ext2fs_bmap2(fs, ino, EXT2_INODE(inode), *buf, 0,
offset / fs->blocksize, &retflags, &blk);
if (err)
return err;
return err;
}
- err = ext2fs_bmap2(fs, ino, (struct ext2_inode *)inode, *buf, 0,
+ err = ext2fs_bmap2(fs, ino, EXT2_INODE(inode), *buf, 0,
offset / fs->blocksize, &retflags, &blk);
if (err)
return err;
fh->ino, mode, start, end);
memset(&inode, 0, sizeof(inode));
- err = ext2fs_read_inode_full(fs, fh->ino, (struct ext2_inode *)&inode,
+ err = ext2fs_read_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, fh->ino, err);
/* Unmap full blocks in the middle */
if (start <= end) {
- err = ext2fs_punch(fs, fh->ino, (struct ext2_inode *)&inode,
+ err = ext2fs_punch(fs, fh->ino, EXT2_INODE(&inode),
NULL, start, end);
if (err)
return translate_error(fs, fh->ino, err);
if (err)
return err;
- err = ext2fs_write_inode_full(fs, fh->ino, (struct ext2_inode *)&inode,
+ err = ext2fs_write_inode_full(fs, fh->ino, EXT2_INODE(&inode),
sizeof(inode));
if (err)
return translate_error(fs, fh->ino, err);