Lines Matching refs:inode
122 static struct posix_acl *ocfs2_get_acl_nolock(struct inode *inode, in ocfs2_get_acl_nolock() argument
142 retval = ocfs2_xattr_get_nolock(inode, di_bh, name_index, "", NULL, 0); in ocfs2_get_acl_nolock()
147 retval = ocfs2_xattr_get_nolock(inode, di_bh, name_index, in ocfs2_get_acl_nolock()
168 static int ocfs2_acl_set_mode(struct inode *inode, struct buffer_head *di_bh, in ocfs2_acl_set_mode() argument
175 ret = ocfs2_read_inode_block(inode, &di_bh); in ocfs2_acl_set_mode()
184 handle = ocfs2_start_trans(OCFS2_SB(inode->i_sb), in ocfs2_acl_set_mode()
196 ret = ocfs2_journal_access_di(handle, INODE_CACHE(inode), di_bh, in ocfs2_acl_set_mode()
203 inode->i_mode = new_mode; in ocfs2_acl_set_mode()
204 inode->i_ctime = CURRENT_TIME; in ocfs2_acl_set_mode()
205 di->i_mode = cpu_to_le16(inode->i_mode); in ocfs2_acl_set_mode()
206 di->i_ctime = cpu_to_le64(inode->i_ctime.tv_sec); in ocfs2_acl_set_mode()
207 di->i_ctime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec); in ocfs2_acl_set_mode()
208 ocfs2_update_inode_fsync_trans(handle, inode, 0); in ocfs2_acl_set_mode()
214 ocfs2_commit_trans(OCFS2_SB(inode->i_sb), handle); in ocfs2_acl_set_mode()
225 struct inode *inode, in ocfs2_set_acl() argument
237 if (S_ISLNK(inode->i_mode)) in ocfs2_set_acl()
244 umode_t mode = inode->i_mode; in ocfs2_set_acl()
252 ret = ocfs2_acl_set_mode(inode, di_bh, in ocfs2_set_acl()
260 if (!S_ISDIR(inode->i_mode)) in ocfs2_set_acl()
274 ret = ocfs2_xattr_set_handle(handle, inode, di_bh, name_index, in ocfs2_set_acl()
278 ret = ocfs2_xattr_set(inode, name_index, "", value, size, 0); in ocfs2_set_acl()
285 int ocfs2_iop_set_acl(struct inode *inode, struct posix_acl *acl, int type) in ocfs2_iop_set_acl() argument
287 return ocfs2_set_acl(NULL, inode, NULL, type, acl, NULL, NULL); in ocfs2_iop_set_acl()
290 struct posix_acl *ocfs2_iop_get_acl(struct inode *inode, int type) in ocfs2_iop_get_acl() argument
297 osb = OCFS2_SB(inode->i_sb); in ocfs2_iop_get_acl()
301 ret = ocfs2_read_inode_block(inode, &di_bh); in ocfs2_iop_get_acl()
305 acl = ocfs2_get_acl_nolock(inode, type, di_bh); in ocfs2_iop_get_acl()
312 int ocfs2_acl_chmod(struct inode *inode, struct buffer_head *bh) in ocfs2_acl_chmod() argument
314 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_acl_chmod()
318 if (S_ISLNK(inode->i_mode)) in ocfs2_acl_chmod()
324 acl = ocfs2_get_acl_nolock(inode, ACL_TYPE_ACCESS, bh); in ocfs2_acl_chmod()
327 ret = __posix_acl_chmod(&acl, GFP_KERNEL, inode->i_mode); in ocfs2_acl_chmod()
330 ret = ocfs2_set_acl(NULL, inode, NULL, ACL_TYPE_ACCESS, in ocfs2_acl_chmod()
341 struct inode *inode, in ocfs2_init_acl() argument
342 struct inode *dir, in ocfs2_init_acl()
348 struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); in ocfs2_init_acl()
353 if (!S_ISLNK(inode->i_mode)) { in ocfs2_init_acl()
361 mode = inode->i_mode & ~current_umask(); in ocfs2_init_acl()
362 ret = ocfs2_acl_set_mode(inode, di_bh, handle, mode); in ocfs2_init_acl()
370 if (S_ISDIR(inode->i_mode)) { in ocfs2_init_acl()
371 ret = ocfs2_set_acl(handle, inode, di_bh, in ocfs2_init_acl()
377 mode = inode->i_mode; in ocfs2_init_acl()
382 ret2 = ocfs2_acl_set_mode(inode, di_bh, handle, mode); in ocfs2_init_acl()
389 ret = ocfs2_set_acl(handle, inode, in ocfs2_init_acl()