int scfs_initialize_file(struct dentry *scfs_dentry, struct inode *scfs_inode) { struct scfs_inode_info *sii = SCFS_I(scfs_inode); int ret = 0; SCFS_DEBUG_START; copy_mount_flags_to_inode_flags(scfs_inode, scfs_inode->i_sb); if (S_ISDIR(scfs_inode->i_mode)) { SCFS_PRINT_ERROR("it's a directory\n"); sii->flags &= ~(SCFS_DATA_COMPRESS); goto out; } ret = scfs_get_lower_file(scfs_dentry, scfs_inode); if (ret) { SCFS_PRINT_ERROR("error in get_lower_file, ret : %d\n", ret); goto out; } ret = scfs_make_header(scfs_dentry, scfs_inode); if (ret) SCFS_PRINT_ERROR("error in make header\n"); scfs_put_lower_file(scfs_inode); out: SCFS_DEBUG_END; return ret; }
int scfs_initialize_file(struct dentry *scfs_dentry, struct inode *scfs_inode) { struct scfs_inode_info *sii = SCFS_I(scfs_inode); int ret = 0; copy_mount_flags_to_inode_flags(scfs_inode, scfs_inode->i_sb); if (S_ISDIR(scfs_inode->i_mode)) { SCFS_PRINT_ERROR("it's a directory\n"); sii->flags &= ~(SCFS_DATA_COMPRESSABLE); goto out; } /* last parameter may be O_RDWR */ ret = scfs_get_lower_file(scfs_dentry, scfs_inode, EMPTY_FLAG); if (ret) { SCFS_PRINT_ERROR("error in get_lower_file, ret : %d\n", ret); goto out; } ret = scfs_make_header(scfs_dentry, scfs_inode); if (ret) SCFS_PRINT_ERROR("error in make header\n"); scfs_put_lower_file(scfs_inode); out: return ret; }