Lines Matching defs:inode

15  * reiserfs_ioctl - handler for ioctl for inode
25 struct inode *inode = file_inode(filp);
29 reiserfs_write_lock(inode->i_sb);
33 if (S_ISREG(inode->i_mode)) {
35 err = reiserfs_unpack(inode, filp);
44 if (!reiserfs_attrs(inode->i_sb)) {
49 flags = REISERFS_I(inode)->i_attrs;
53 if (!reiserfs_attrs(inode->i_sb)) {
62 if (!inode_owner_or_capable(inode)) {
73 if (IS_NOQUOTA(inode)) {
77 err = vfs_ioc_setflags_prepare(inode,
78 REISERFS_I(inode)->i_attrs,
83 S_ISREG(inode->i_mode)) {
86 result = reiserfs_unpack(inode, filp);
92 sd_attrs_to_i_attrs(flags, inode);
93 REISERFS_I(inode)->i_attrs = flags;
94 inode->i_ctime = current_time(inode);
95 mark_inode_dirty(inode);
101 err = put_user(inode->i_generation, (int __user *)arg);
104 if (!inode_owner_or_capable(inode)) {
111 if (get_user(inode->i_generation, (int __user *)arg)) {
115 inode->i_ctime = current_time(inode);
116 mark_inode_dirty(inode);
124 reiserfs_write_unlock(inode->i_sb);
166 * It set up nopack attribute in the REISERFS_I(inode)->nopack
168 int reiserfs_unpack(struct inode *inode, struct file *filp)
175 unsigned long blocksize = inode->i_sb->s_blocksize;
177 if (inode->i_size == 0) {
178 REISERFS_I(inode)->i_flags |= i_nopack_mask;
182 if (REISERFS_I(inode)->i_flags & i_nopack_mask) {
188 int depth = reiserfs_write_unlock_nested(inode->i_sb);
190 inode_lock(inode);
191 reiserfs_write_lock_nested(inode->i_sb, depth);
194 reiserfs_write_lock(inode->i_sb);
196 write_from = inode->i_size & (blocksize - 1);
199 REISERFS_I(inode)->i_flags |= i_nopack_mask;
208 index = inode->i_size >> PAGE_SHIFT;
209 mapping = inode->i_mapping;
222 REISERFS_I(inode)->i_flags |= i_nopack_mask;
229 inode_unlock(inode);
230 reiserfs_write_unlock(inode->i_sb);