Lines Matching refs:ip

53 	struct xfs_inode	*ip = XFS_I(inode);  in xfs_initxattrs()  local
58 .dp = ip, in xfs_initxattrs()
173 struct xfs_inode *ip = NULL; in xfs_generic_create() local
201 &ip); in xfs_generic_create()
203 error = xfs_create_tmpfile(idmap, XFS_I(dir), mode, &ip); in xfs_generic_create()
208 inode = VFS_I(ip); in xfs_generic_create()
225 xfs_setup_iops(ip); in xfs_generic_create()
241 xfs_finish_inode_setup(ip); in xfs_generic_create()
249 xfs_finish_inode_setup(ip); in xfs_generic_create()
252 xfs_irele(ip); in xfs_generic_create()
319 struct xfs_inode *ip; in xfs_vn_ci_lookup() local
329 error = xfs_lookup(XFS_I(dir), &xname, &ip, &ci_name); in xfs_vn_ci_lookup()
343 return d_splice_alias(VFS_I(ip), dentry); in xfs_vn_ci_lookup()
348 dentry = d_add_ci(dentry, VFS_I(ip), &dname); in xfs_vn_ci_lookup()
515 struct xfs_inode *ip) in xfs_stat_blksize() argument
517 struct xfs_mount *mp = ip->i_mount; in xfs_stat_blksize()
523 if (XFS_IS_REALTIME_INODE(ip)) in xfs_stat_blksize()
524 return XFS_FSB_TO_B(mp, xfs_get_extsz_hint(ip)); in xfs_stat_blksize()
558 struct xfs_inode *ip = XFS_I(inode); in xfs_vn_getattr() local
559 struct xfs_mount *mp = ip->i_mount; in xfs_vn_getattr()
563 trace_xfs_getattr(ip); in xfs_vn_getattr()
568 stat->size = XFS_ISIZE(ip); in xfs_vn_getattr()
574 stat->ino = ip->i_ino; in xfs_vn_getattr()
578 stat->blocks = XFS_FSB_TO_BB(mp, ip->i_nblocks + ip->i_delayed_blks); in xfs_vn_getattr()
583 stat->btime = ip->i_crtime; in xfs_vn_getattr()
596 if (ip->i_diflags & XFS_DIFLAG_IMMUTABLE) in xfs_vn_getattr()
598 if (ip->i_diflags & XFS_DIFLAG_APPEND) in xfs_vn_getattr()
600 if (ip->i_diflags & XFS_DIFLAG_NODUMP) in xfs_vn_getattr()
615 struct xfs_buftarg *target = xfs_inode_buftarg(ip); in xfs_vn_getattr()
624 stat->blksize = xfs_stat_blksize(ip); in xfs_vn_getattr()
659 struct xfs_inode *ip, in xfs_setattr_nonsize() argument
662 xfs_mount_t *mp = ip->i_mount; in xfs_setattr_nonsize()
663 struct inode *inode = VFS_I(ip); in xfs_setattr_nonsize()
707 error = xfs_qm_vop_dqalloc(ip, uid, gid, ip->i_projid, in xfs_setattr_nonsize()
713 error = xfs_trans_alloc_ichange(ip, udqp, gdqp, NULL, in xfs_setattr_nonsize()
728 old_udqp = xfs_qm_vop_chown(tp, ip, &ip->i_udquot, udqp); in xfs_setattr_nonsize()
734 old_gdqp = xfs_qm_vop_chown(tp, ip, &ip->i_gdquot, gdqp); in xfs_setattr_nonsize()
738 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_setattr_nonsize()
788 struct xfs_inode *ip, in xfs_setattr_size() argument
791 struct xfs_mount *mp = ip->i_mount; in xfs_setattr_size()
792 struct inode *inode = VFS_I(ip); in xfs_setattr_size()
799 ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL)); in xfs_setattr_size()
800 ASSERT(xfs_isilocked(ip, XFS_MMAPLOCK_EXCL)); in xfs_setattr_size()
811 if (newsize == 0 && oldsize == 0 && ip->i_df.if_nextents == 0) { in xfs_setattr_size()
819 return xfs_setattr_nonsize(idmap, dentry, ip, iattr); in xfs_setattr_size()
825 error = xfs_qm_dqattach(ip); in xfs_setattr_size()
845 trace_xfs_zero_eof(ip, oldsize, newsize - oldsize); in xfs_setattr_size()
846 error = xfs_zero_range(ip, oldsize, newsize - oldsize, in xfs_setattr_size()
859 error = xfs_truncate_page(ip, newsize, &did_zeroing); in xfs_setattr_size()
897 (newsize > ip->i_disk_size && oldsize != ip->i_disk_size)) { in xfs_setattr_size()
898 error = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, in xfs_setattr_size()
899 ip->i_disk_size, newsize - 1); in xfs_setattr_size()
909 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_setattr_size()
910 xfs_trans_ijoin(tp, ip, 0); in xfs_setattr_size()
941 ip->i_disk_size = newsize; in xfs_setattr_size()
942 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_setattr_size()
945 error = xfs_itruncate_extents(&tp, ip, XFS_DATA_FORK, newsize); in xfs_setattr_size()
956 xfs_iflags_set(ip, XFS_ITRUNCATED); in xfs_setattr_size()
959 xfs_inode_clear_eofblocks_tag(ip); in xfs_setattr_size()
964 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_setattr_size()
974 xfs_iunlock(ip, lock_flags); in xfs_setattr_size()
988 struct xfs_inode *ip = XFS_I(d_inode(dentry)); in xfs_vn_setattr_size() local
991 trace_xfs_setattr(ip); in xfs_vn_setattr_size()
996 return xfs_setattr_size(idmap, dentry, ip, iattr); in xfs_vn_setattr_size()
1006 struct xfs_inode *ip = XFS_I(inode); in xfs_vn_setattr() local
1012 xfs_ilock(ip, XFS_MMAPLOCK_EXCL); in xfs_vn_setattr()
1017 xfs_iunlock(ip, XFS_MMAPLOCK_EXCL); in xfs_vn_setattr()
1022 xfs_iunlock(ip, XFS_MMAPLOCK_EXCL); in xfs_vn_setattr()
1024 trace_xfs_setattr(ip); in xfs_vn_setattr()
1028 error = xfs_setattr_nonsize(idmap, dentry, ip, iattr); in xfs_vn_setattr()
1039 struct xfs_inode *ip = XFS_I(inode); in xfs_vn_update_time() local
1040 struct xfs_mount *mp = ip->i_mount; in xfs_vn_update_time()
1046 trace_xfs_update_time(ip); in xfs_vn_update_time()
1063 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_vn_update_time()
1074 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); in xfs_vn_update_time()
1075 xfs_trans_log_inode(tp, ip, log_flags); in xfs_vn_update_time()
1191 struct xfs_inode *ip) in xfs_inode_supports_dax() argument
1193 struct xfs_mount *mp = ip->i_mount; in xfs_inode_supports_dax()
1196 if (!S_ISREG(VFS_I(ip)->i_mode)) in xfs_inode_supports_dax()
1204 return xfs_inode_buftarg(ip)->bt_daxdev != NULL; in xfs_inode_supports_dax()
1209 struct xfs_inode *ip) in xfs_inode_should_enable_dax() argument
1213 if (xfs_has_dax_never(ip->i_mount)) in xfs_inode_should_enable_dax()
1215 if (!xfs_inode_supports_dax(ip)) in xfs_inode_should_enable_dax()
1217 if (xfs_has_dax_always(ip->i_mount)) in xfs_inode_should_enable_dax()
1219 if (ip->i_diflags2 & XFS_DIFLAG2_DAX) in xfs_inode_should_enable_dax()
1226 struct xfs_inode *ip, in xfs_diflags_to_iflags() argument
1229 struct inode *inode = VFS_I(ip); in xfs_diflags_to_iflags()
1230 unsigned int xflags = xfs_ip2xflags(ip); in xfs_diflags_to_iflags()
1243 if (init && xfs_inode_should_enable_dax(ip)) in xfs_diflags_to_iflags()
1264 struct xfs_inode *ip) in xfs_setup_inode() argument
1266 struct inode *inode = &ip->i_vnode; in xfs_setup_inode()
1269 inode->i_ino = ip->i_ino; in xfs_setup_inode()
1276 i_size_write(inode, ip->i_disk_size); in xfs_setup_inode()
1277 xfs_diflags_to_iflags(ip, true); in xfs_setup_inode()
1288 lockdep_set_class(&ip->i_lock.mr_lock, &xfs_dir_ilock_class); in xfs_setup_inode()
1290 lockdep_set_class(&ip->i_lock.mr_lock, &xfs_nondir_ilock_class); in xfs_setup_inode()
1305 if (S_ISREG(inode->i_mode) && XFS_IS_REALTIME_INODE(ip)) in xfs_setup_inode()
1306 xfs_update_stable_writes(ip); in xfs_setup_inode()
1312 if (!xfs_inode_has_attr_fork(ip)) { in xfs_setup_inode()
1320 struct xfs_inode *ip) in xfs_setup_iops() argument
1322 struct inode *inode = &ip->i_vnode; in xfs_setup_iops()