Lines Matching refs:ip
68 struct xfs_inode *ip = XFS_I(inode); in xfs_initxattrs() local
72 error = xfs_attr_set(ip, xattr->name, xattr->value, in xfs_initxattrs()
135 struct xfs_inode *ip = NULL; in xfs_generic_create() local
158 error = xfs_create(XFS_I(dir), &name, mode, rdev, &ip); in xfs_generic_create()
160 error = xfs_create_tmpfile(XFS_I(dir), dentry, mode, &ip); in xfs_generic_create()
165 inode = VFS_I(ip); in xfs_generic_create()
189 xfs_finish_inode_setup(ip); in xfs_generic_create()
199 xfs_finish_inode_setup(ip); in xfs_generic_create()
266 struct xfs_inode *ip; in xfs_vn_ci_lookup() local
276 error = xfs_lookup(XFS_I(dir), &xname, &ip, &ci_name); in xfs_vn_ci_lookup()
290 return d_splice_alias(VFS_I(ip), dentry); in xfs_vn_ci_lookup()
295 dentry = d_add_ci(dentry, VFS_I(ip), &dname); in xfs_vn_ci_lookup()
447 struct xfs_inode *ip = XFS_I(inode); in xfs_vn_getattr() local
448 struct xfs_mount *mp = ip->i_mount; in xfs_vn_getattr()
450 trace_xfs_getattr(ip); in xfs_vn_getattr()
455 stat->size = XFS_ISIZE(ip); in xfs_vn_getattr()
457 stat->mode = ip->i_d.di_mode; in xfs_vn_getattr()
458 stat->nlink = ip->i_d.di_nlink; in xfs_vn_getattr()
461 stat->ino = ip->i_ino; in xfs_vn_getattr()
466 XFS_FSB_TO_BB(mp, ip->i_d.di_nblocks + ip->i_delayed_blks); in xfs_vn_getattr()
473 stat->rdev = MKDEV(sysv_major(ip->i_df.if_u2.if_rdev) & 0x1ff, in xfs_vn_getattr()
474 sysv_minor(ip->i_df.if_u2.if_rdev)); in xfs_vn_getattr()
477 if (XFS_IS_REALTIME_INODE(ip)) { in xfs_vn_getattr()
484 xfs_get_extsz_hint(ip) << mp->m_sb.sb_blocklog; in xfs_vn_getattr()
496 struct xfs_inode *ip, in xfs_setattr_mode() argument
499 struct inode *inode = VFS_I(ip); in xfs_setattr_mode()
502 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_setattr_mode()
504 ip->i_d.di_mode &= S_IFMT; in xfs_setattr_mode()
505 ip->i_d.di_mode |= mode & ~S_IFMT; in xfs_setattr_mode()
513 struct xfs_inode *ip, in xfs_setattr_time() argument
516 struct inode *inode = VFS_I(ip); in xfs_setattr_time()
518 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_setattr_time()
522 ip->i_d.di_atime.t_sec = iattr->ia_atime.tv_sec; in xfs_setattr_time()
523 ip->i_d.di_atime.t_nsec = iattr->ia_atime.tv_nsec; in xfs_setattr_time()
527 ip->i_d.di_ctime.t_sec = iattr->ia_ctime.tv_sec; in xfs_setattr_time()
528 ip->i_d.di_ctime.t_nsec = iattr->ia_ctime.tv_nsec; in xfs_setattr_time()
532 ip->i_d.di_mtime.t_sec = iattr->ia_mtime.tv_sec; in xfs_setattr_time()
533 ip->i_d.di_mtime.t_nsec = iattr->ia_mtime.tv_nsec; in xfs_setattr_time()
539 struct xfs_inode *ip, in xfs_setattr_nonsize() argument
543 xfs_mount_t *mp = ip->i_mount; in xfs_setattr_nonsize()
544 struct inode *inode = VFS_I(ip); in xfs_setattr_nonsize()
553 trace_xfs_setattr(ip); in xfs_setattr_nonsize()
601 error = xfs_qm_vop_dqalloc(ip, xfs_kuid_to_uid(uid), in xfs_setattr_nonsize()
603 xfs_get_projid(ip), in xfs_setattr_nonsize()
614 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_setattr_nonsize()
639 error = xfs_qm_vop_chown_reserve(tp, ip, udqp, gdqp, in xfs_setattr_nonsize()
647 xfs_trans_ijoin(tp, ip, 0); in xfs_setattr_nonsize()
659 if ((ip->i_d.di_mode & (S_ISUID|S_ISGID)) && in xfs_setattr_nonsize()
661 ip->i_d.di_mode &= ~(S_ISUID|S_ISGID); in xfs_setattr_nonsize()
671 olddquot1 = xfs_qm_vop_chown(tp, ip, in xfs_setattr_nonsize()
672 &ip->i_udquot, udqp); in xfs_setattr_nonsize()
674 ip->i_d.di_uid = xfs_kuid_to_uid(uid); in xfs_setattr_nonsize()
683 olddquot2 = xfs_qm_vop_chown(tp, ip, in xfs_setattr_nonsize()
684 &ip->i_gdquot, gdqp); in xfs_setattr_nonsize()
686 ip->i_d.di_gid = xfs_kgid_to_gid(gid); in xfs_setattr_nonsize()
692 xfs_setattr_mode(ip, iattr); in xfs_setattr_nonsize()
694 xfs_setattr_time(ip, iattr); in xfs_setattr_nonsize()
696 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_setattr_nonsize()
704 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_setattr_nonsize()
733 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_setattr_nonsize()
746 struct xfs_inode *ip, in xfs_setattr_size() argument
749 struct xfs_mount *mp = ip->i_mount; in xfs_setattr_size()
750 struct inode *inode = VFS_I(ip); in xfs_setattr_size()
757 trace_xfs_setattr(ip); in xfs_setattr_size()
769 ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL)); in xfs_setattr_size()
770 ASSERT(xfs_isilocked(ip, XFS_MMAPLOCK_EXCL)); in xfs_setattr_size()
771 ASSERT(S_ISREG(ip->i_d.di_mode)); in xfs_setattr_size()
781 if (newsize == 0 && oldsize == 0 && ip->i_d.di_nextents == 0) { in xfs_setattr_size()
789 return xfs_setattr_nonsize(ip, iattr, 0); in xfs_setattr_size()
795 error = xfs_qm_dqattach(ip, 0); in xfs_setattr_size()
809 error = xfs_zero_eof(ip, newsize, oldsize, &did_zeroing); in xfs_setattr_size()
822 if (newsize > ip->i_d.di_size && in xfs_setattr_size()
823 (oldsize != ip->i_d.di_size || did_zeroing)) { in xfs_setattr_size()
824 error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, in xfs_setattr_size()
825 ip->i_d.di_size, newsize); in xfs_setattr_size()
865 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_setattr_size()
866 xfs_trans_ijoin(tp, ip, 0); in xfs_setattr_size()
897 ip->i_d.di_size = newsize; in xfs_setattr_size()
898 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_setattr_size()
901 error = xfs_itruncate_extents(&tp, ip, XFS_DATA_FORK, newsize); in xfs_setattr_size()
912 xfs_iflags_set(ip, XFS_ITRUNCATED); in xfs_setattr_size()
915 xfs_inode_clear_eofblocks_tag(ip); in xfs_setattr_size()
919 xfs_setattr_mode(ip, iattr); in xfs_setattr_size()
921 xfs_setattr_time(ip, iattr); in xfs_setattr_size()
923 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_setattr_size()
933 xfs_iunlock(ip, lock_flags); in xfs_setattr_size()
946 struct xfs_inode *ip = XFS_I(d_inode(dentry)); in xfs_vn_setattr() local
952 xfs_ilock(ip, iolock); in xfs_vn_setattr()
955 xfs_ilock(ip, XFS_MMAPLOCK_EXCL); in xfs_vn_setattr()
958 error = xfs_setattr_size(ip, iattr); in xfs_vn_setattr()
960 xfs_iunlock(ip, iolock); in xfs_vn_setattr()
962 error = xfs_setattr_nonsize(ip, iattr, 0); in xfs_vn_setattr()
974 struct xfs_inode *ip = XFS_I(inode); in xfs_vn_update_time() local
975 struct xfs_mount *mp = ip->i_mount; in xfs_vn_update_time()
979 trace_xfs_update_time(ip); in xfs_vn_update_time()
988 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_vn_update_time()
991 ip->i_d.di_ctime.t_sec = (__int32_t)now->tv_sec; in xfs_vn_update_time()
992 ip->i_d.di_ctime.t_nsec = (__int32_t)now->tv_nsec; in xfs_vn_update_time()
996 ip->i_d.di_mtime.t_sec = (__int32_t)now->tv_sec; in xfs_vn_update_time()
997 ip->i_d.di_mtime.t_nsec = (__int32_t)now->tv_nsec; in xfs_vn_update_time()
1001 ip->i_d.di_atime.t_sec = (__int32_t)now->tv_sec; in xfs_vn_update_time()
1002 ip->i_d.di_atime.t_nsec = (__int32_t)now->tv_nsec; in xfs_vn_update_time()
1004 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); in xfs_vn_update_time()
1005 xfs_trans_log_inode(tp, ip, XFS_ILOG_TIMESTAMP); in xfs_vn_update_time()
1061 xfs_inode_t *ip = XFS_I(inode); in xfs_vn_fiemap() local
1088 error = xfs_getbmap(ip, &bm, xfs_fiemap_format, fieinfo); in xfs_vn_fiemap()
1189 struct xfs_inode *ip) in xfs_diflags_to_iflags() argument
1191 uint16_t flags = ip->i_d.di_flags; in xfs_diflags_to_iflags()
1205 if (ip->i_mount->m_flags & XFS_MOUNT_DAX) in xfs_diflags_to_iflags()
1219 struct xfs_inode *ip) in xfs_setup_inode() argument
1221 struct inode *inode = &ip->i_vnode; in xfs_setup_inode()
1224 inode->i_ino = ip->i_ino; in xfs_setup_inode()
1231 inode->i_mode = ip->i_d.di_mode; in xfs_setup_inode()
1232 set_nlink(inode, ip->i_d.di_nlink); in xfs_setup_inode()
1233 inode->i_uid = xfs_uid_to_kuid(ip->i_d.di_uid); in xfs_setup_inode()
1234 inode->i_gid = xfs_gid_to_kgid(ip->i_d.di_gid); in xfs_setup_inode()
1240 MKDEV(sysv_major(ip->i_df.if_u2.if_rdev) & 0x1ff, in xfs_setup_inode()
1241 sysv_minor(ip->i_df.if_u2.if_rdev)); in xfs_setup_inode()
1248 inode->i_generation = ip->i_d.di_gen; in xfs_setup_inode()
1249 i_size_write(inode, ip->i_d.di_size); in xfs_setup_inode()
1250 inode->i_atime.tv_sec = ip->i_d.di_atime.t_sec; in xfs_setup_inode()
1251 inode->i_atime.tv_nsec = ip->i_d.di_atime.t_nsec; in xfs_setup_inode()
1252 inode->i_mtime.tv_sec = ip->i_d.di_mtime.t_sec; in xfs_setup_inode()
1253 inode->i_mtime.tv_nsec = ip->i_d.di_mtime.t_nsec; in xfs_setup_inode()
1254 inode->i_ctime.tv_sec = ip->i_d.di_ctime.t_sec; in xfs_setup_inode()
1255 inode->i_ctime.tv_nsec = ip->i_d.di_ctime.t_nsec; in xfs_setup_inode()
1256 xfs_diflags_to_iflags(inode, ip); in xfs_setup_inode()
1258 ip->d_ops = ip->i_mount->m_nondir_inode_ops; in xfs_setup_inode()
1259 lockdep_set_class(&ip->i_lock.mr_lock, &xfs_nondir_ilock_class); in xfs_setup_inode()
1267 lockdep_set_class(&ip->i_lock.mr_lock, &xfs_dir_ilock_class); in xfs_setup_inode()
1273 ip->d_ops = ip->i_mount->m_dir_inode_ops; in xfs_setup_inode()
1277 if (!(ip->i_df.if_flags & XFS_IFINLINE)) in xfs_setup_inode()
1298 if (!XFS_IFORK_Q(ip)) { in xfs_setup_inode()