Lines Matching refs:ip
69 struct xfs_inode *ip = XFS_I(inode); in xfs_initxattrs() local
73 error = xfs_attr_set(ip, xattr->name, xattr->value, in xfs_initxattrs()
136 struct xfs_inode *ip = NULL; in xfs_generic_create() local
159 error = xfs_create(XFS_I(dir), &name, mode, rdev, &ip); in xfs_generic_create()
161 error = xfs_create_tmpfile(XFS_I(dir), dentry, mode, &ip); in xfs_generic_create()
166 inode = VFS_I(ip); in xfs_generic_create()
190 xfs_finish_inode_setup(ip); in xfs_generic_create()
200 xfs_finish_inode_setup(ip); in xfs_generic_create()
267 struct xfs_inode *ip; in xfs_vn_ci_lookup() local
277 error = xfs_lookup(XFS_I(dir), &xname, &ip, &ci_name); in xfs_vn_ci_lookup()
291 return d_splice_alias(VFS_I(ip), dentry); in xfs_vn_ci_lookup()
296 dentry = d_add_ci(dentry, VFS_I(ip), &dname); in xfs_vn_ci_lookup()
450 struct xfs_inode *ip = XFS_I(inode); in xfs_vn_getattr() local
451 struct xfs_mount *mp = ip->i_mount; in xfs_vn_getattr()
453 trace_xfs_getattr(ip); in xfs_vn_getattr()
458 stat->size = XFS_ISIZE(ip); in xfs_vn_getattr()
460 stat->mode = ip->i_d.di_mode; in xfs_vn_getattr()
461 stat->nlink = ip->i_d.di_nlink; in xfs_vn_getattr()
464 stat->ino = ip->i_ino; in xfs_vn_getattr()
469 XFS_FSB_TO_BB(mp, ip->i_d.di_nblocks + ip->i_delayed_blks); in xfs_vn_getattr()
476 stat->rdev = MKDEV(sysv_major(ip->i_df.if_u2.if_rdev) & 0x1ff, in xfs_vn_getattr()
477 sysv_minor(ip->i_df.if_u2.if_rdev)); in xfs_vn_getattr()
480 if (XFS_IS_REALTIME_INODE(ip)) { in xfs_vn_getattr()
487 xfs_get_extsz_hint(ip) << mp->m_sb.sb_blocklog; in xfs_vn_getattr()
499 struct xfs_inode *ip, in xfs_setattr_mode() argument
502 struct inode *inode = VFS_I(ip); in xfs_setattr_mode()
505 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_setattr_mode()
507 ip->i_d.di_mode &= S_IFMT; in xfs_setattr_mode()
508 ip->i_d.di_mode |= mode & ~S_IFMT; in xfs_setattr_mode()
516 struct xfs_inode *ip, in xfs_setattr_time() argument
519 struct inode *inode = VFS_I(ip); in xfs_setattr_time()
521 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_setattr_time()
525 ip->i_d.di_atime.t_sec = iattr->ia_atime.tv_sec; in xfs_setattr_time()
526 ip->i_d.di_atime.t_nsec = iattr->ia_atime.tv_nsec; in xfs_setattr_time()
530 ip->i_d.di_ctime.t_sec = iattr->ia_ctime.tv_sec; in xfs_setattr_time()
531 ip->i_d.di_ctime.t_nsec = iattr->ia_ctime.tv_nsec; in xfs_setattr_time()
535 ip->i_d.di_mtime.t_sec = iattr->ia_mtime.tv_sec; in xfs_setattr_time()
536 ip->i_d.di_mtime.t_nsec = iattr->ia_mtime.tv_nsec; in xfs_setattr_time()
542 struct xfs_inode *ip, in xfs_setattr_nonsize() argument
546 xfs_mount_t *mp = ip->i_mount; in xfs_setattr_nonsize()
547 struct inode *inode = VFS_I(ip); in xfs_setattr_nonsize()
556 trace_xfs_setattr(ip); in xfs_setattr_nonsize()
604 error = xfs_qm_vop_dqalloc(ip, xfs_kuid_to_uid(uid), in xfs_setattr_nonsize()
606 xfs_get_projid(ip), in xfs_setattr_nonsize()
617 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_setattr_nonsize()
642 error = xfs_qm_vop_chown_reserve(tp, ip, udqp, gdqp, in xfs_setattr_nonsize()
650 xfs_trans_ijoin(tp, ip, 0); in xfs_setattr_nonsize()
662 if ((ip->i_d.di_mode & (S_ISUID|S_ISGID)) && in xfs_setattr_nonsize()
664 ip->i_d.di_mode &= ~(S_ISUID|S_ISGID); in xfs_setattr_nonsize()
674 olddquot1 = xfs_qm_vop_chown(tp, ip, in xfs_setattr_nonsize()
675 &ip->i_udquot, udqp); in xfs_setattr_nonsize()
677 ip->i_d.di_uid = xfs_kuid_to_uid(uid); in xfs_setattr_nonsize()
686 olddquot2 = xfs_qm_vop_chown(tp, ip, in xfs_setattr_nonsize()
687 &ip->i_gdquot, gdqp); in xfs_setattr_nonsize()
689 ip->i_d.di_gid = xfs_kgid_to_gid(gid); in xfs_setattr_nonsize()
695 xfs_setattr_mode(ip, iattr); in xfs_setattr_nonsize()
697 xfs_setattr_time(ip, iattr); in xfs_setattr_nonsize()
699 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_setattr_nonsize()
707 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_setattr_nonsize()
737 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_setattr_nonsize()
749 struct xfs_inode *ip, in xfs_setattr_size() argument
752 struct xfs_mount *mp = ip->i_mount; in xfs_setattr_size()
753 struct inode *inode = VFS_I(ip); in xfs_setattr_size()
761 trace_xfs_setattr(ip); in xfs_setattr_size()
773 ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL)); in xfs_setattr_size()
774 ASSERT(xfs_isilocked(ip, XFS_MMAPLOCK_EXCL)); in xfs_setattr_size()
775 ASSERT(S_ISREG(ip->i_d.di_mode)); in xfs_setattr_size()
785 if (newsize == 0 && oldsize == 0 && ip->i_d.di_nextents == 0) { in xfs_setattr_size()
793 return xfs_setattr_nonsize(ip, iattr, 0); in xfs_setattr_size()
799 error = xfs_qm_dqattach(ip, 0); in xfs_setattr_size()
813 error = xfs_zero_eof(ip, newsize, oldsize, &did_zeroing); in xfs_setattr_size()
826 if (newsize > ip->i_d.di_size && in xfs_setattr_size()
827 (oldsize != ip->i_d.di_size || did_zeroing)) { in xfs_setattr_size()
828 error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, in xfs_setattr_size()
829 ip->i_d.di_size, newsize); in xfs_setattr_size()
866 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_setattr_size()
867 xfs_trans_ijoin(tp, ip, 0); in xfs_setattr_size()
898 ip->i_d.di_size = newsize; in xfs_setattr_size()
899 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_setattr_size()
902 error = xfs_itruncate_extents(&tp, ip, XFS_DATA_FORK, newsize); in xfs_setattr_size()
913 xfs_iflags_set(ip, XFS_ITRUNCATED); in xfs_setattr_size()
916 xfs_inode_clear_eofblocks_tag(ip); in xfs_setattr_size()
920 xfs_setattr_mode(ip, iattr); in xfs_setattr_size()
922 xfs_setattr_time(ip, iattr); in xfs_setattr_size()
924 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_setattr_size()
934 xfs_iunlock(ip, lock_flags); in xfs_setattr_size()
949 struct xfs_inode *ip = XFS_I(d_inode(dentry)); in xfs_vn_setattr() local
955 xfs_ilock(ip, iolock); in xfs_vn_setattr()
958 xfs_ilock(ip, XFS_MMAPLOCK_EXCL); in xfs_vn_setattr()
961 error = xfs_setattr_size(ip, iattr); in xfs_vn_setattr()
963 xfs_iunlock(ip, iolock); in xfs_vn_setattr()
965 error = xfs_setattr_nonsize(ip, iattr, 0); in xfs_vn_setattr()
977 struct xfs_inode *ip = XFS_I(inode); in xfs_vn_update_time() local
978 struct xfs_mount *mp = ip->i_mount; in xfs_vn_update_time()
982 trace_xfs_update_time(ip); in xfs_vn_update_time()
991 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_vn_update_time()
994 ip->i_d.di_ctime.t_sec = (__int32_t)now->tv_sec; in xfs_vn_update_time()
995 ip->i_d.di_ctime.t_nsec = (__int32_t)now->tv_nsec; in xfs_vn_update_time()
999 ip->i_d.di_mtime.t_sec = (__int32_t)now->tv_sec; in xfs_vn_update_time()
1000 ip->i_d.di_mtime.t_nsec = (__int32_t)now->tv_nsec; in xfs_vn_update_time()
1004 ip->i_d.di_atime.t_sec = (__int32_t)now->tv_sec; in xfs_vn_update_time()
1005 ip->i_d.di_atime.t_nsec = (__int32_t)now->tv_nsec; in xfs_vn_update_time()
1007 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); in xfs_vn_update_time()
1008 xfs_trans_log_inode(tp, ip, XFS_ILOG_TIMESTAMP); in xfs_vn_update_time()
1064 xfs_inode_t *ip = XFS_I(inode); in xfs_vn_fiemap() local
1091 error = xfs_getbmap(ip, &bm, xfs_fiemap_format, fieinfo); in xfs_vn_fiemap()
1192 struct xfs_inode *ip) in xfs_diflags_to_iflags() argument
1194 if (ip->i_d.di_flags & XFS_DIFLAG_IMMUTABLE) in xfs_diflags_to_iflags()
1198 if (ip->i_d.di_flags & XFS_DIFLAG_APPEND) in xfs_diflags_to_iflags()
1202 if (ip->i_d.di_flags & XFS_DIFLAG_SYNC) in xfs_diflags_to_iflags()
1206 if (ip->i_d.di_flags & XFS_DIFLAG_NOATIME) in xfs_diflags_to_iflags()
1222 struct xfs_inode *ip) in xfs_setup_inode() argument
1224 struct inode *inode = &ip->i_vnode; in xfs_setup_inode()
1227 inode->i_ino = ip->i_ino; in xfs_setup_inode()
1234 inode->i_mode = ip->i_d.di_mode; in xfs_setup_inode()
1235 set_nlink(inode, ip->i_d.di_nlink); in xfs_setup_inode()
1236 inode->i_uid = xfs_uid_to_kuid(ip->i_d.di_uid); in xfs_setup_inode()
1237 inode->i_gid = xfs_gid_to_kgid(ip->i_d.di_gid); in xfs_setup_inode()
1243 MKDEV(sysv_major(ip->i_df.if_u2.if_rdev) & 0x1ff, in xfs_setup_inode()
1244 sysv_minor(ip->i_df.if_u2.if_rdev)); in xfs_setup_inode()
1251 inode->i_generation = ip->i_d.di_gen; in xfs_setup_inode()
1252 i_size_write(inode, ip->i_d.di_size); in xfs_setup_inode()
1253 inode->i_atime.tv_sec = ip->i_d.di_atime.t_sec; in xfs_setup_inode()
1254 inode->i_atime.tv_nsec = ip->i_d.di_atime.t_nsec; in xfs_setup_inode()
1255 inode->i_mtime.tv_sec = ip->i_d.di_mtime.t_sec; in xfs_setup_inode()
1256 inode->i_mtime.tv_nsec = ip->i_d.di_mtime.t_nsec; in xfs_setup_inode()
1257 inode->i_ctime.tv_sec = ip->i_d.di_ctime.t_sec; in xfs_setup_inode()
1258 inode->i_ctime.tv_nsec = ip->i_d.di_ctime.t_nsec; in xfs_setup_inode()
1259 xfs_diflags_to_iflags(inode, ip); in xfs_setup_inode()
1261 ip->d_ops = ip->i_mount->m_nondir_inode_ops; in xfs_setup_inode()
1262 lockdep_set_class(&ip->i_lock.mr_lock, &xfs_nondir_ilock_class); in xfs_setup_inode()
1270 lockdep_set_class(&ip->i_lock.mr_lock, &xfs_dir_ilock_class); in xfs_setup_inode()
1276 ip->d_ops = ip->i_mount->m_dir_inode_ops; in xfs_setup_inode()
1280 if (!(ip->i_df.if_flags & XFS_IFINLINE)) in xfs_setup_inode()
1301 if (!XFS_IFORK_Q(ip)) { in xfs_setup_inode()