Lines Matching refs:ip

68 	struct xfs_inode	*ip;  in xfs_find_handle()  local
81 ip = XFS_I(inode); in xfs_find_handle()
98 memcpy(&handle.ha_fsid, ip->i_mount->m_fixedfsid, sizeof(xfs_fsid_t)); in xfs_find_handle()
111 handle.ha_fid.fid_ino = ip->i_ino; in xfs_find_handle()
989 struct xfs_inode *ip, in xfs_fill_fsxattr() argument
993 struct xfs_mount *mp = ip->i_mount; in xfs_fill_fsxattr()
994 struct xfs_ifork *ifp = xfs_ifork_ptr(ip, whichfork); in xfs_fill_fsxattr()
996 fileattr_fill_xflags(fa, xfs_ip2xflags(ip)); in xfs_fill_fsxattr()
998 if (ip->i_diflags & XFS_DIFLAG_EXTSIZE) { in xfs_fill_fsxattr()
999 fa->fsx_extsize = XFS_FSB_TO_B(mp, ip->i_extsize); in xfs_fill_fsxattr()
1000 } else if (ip->i_diflags & XFS_DIFLAG_EXTSZINHERIT) { in xfs_fill_fsxattr()
1006 if ((ip->i_diflags & XFS_DIFLAG_RTINHERIT) && in xfs_fill_fsxattr()
1007 ip->i_extsize % mp->m_sb.sb_rextsize > 0) { in xfs_fill_fsxattr()
1012 fa->fsx_extsize = XFS_FSB_TO_B(mp, ip->i_extsize); in xfs_fill_fsxattr()
1016 if (ip->i_diflags2 & XFS_DIFLAG2_COWEXTSIZE) in xfs_fill_fsxattr()
1017 fa->fsx_cowextsize = XFS_FSB_TO_B(mp, ip->i_cowextsize); in xfs_fill_fsxattr()
1018 fa->fsx_projid = ip->i_projid; in xfs_fill_fsxattr()
1027 xfs_inode_t *ip, in xfs_ioc_fsgetxattra() argument
1032 xfs_ilock(ip, XFS_ILOCK_SHARED); in xfs_ioc_fsgetxattra()
1033 xfs_fill_fsxattr(ip, XFS_ATTR_FORK, &fa); in xfs_ioc_fsgetxattra()
1034 xfs_iunlock(ip, XFS_ILOCK_SHARED); in xfs_ioc_fsgetxattra()
1044 struct xfs_inode *ip = XFS_I(d_inode(dentry)); in xfs_fileattr_get() local
1049 xfs_ilock(ip, XFS_ILOCK_SHARED); in xfs_fileattr_get()
1050 xfs_fill_fsxattr(ip, XFS_DATA_FORK, fa); in xfs_fileattr_get()
1051 xfs_iunlock(ip, XFS_ILOCK_SHARED); in xfs_fileattr_get()
1058 struct xfs_inode *ip, in xfs_flags2diflags() argument
1063 (ip->i_diflags & XFS_DIFLAG_PREALLOC); in xfs_flags2diflags()
1079 if (S_ISDIR(VFS_I(ip)->i_mode)) { in xfs_flags2diflags()
1088 } else if (S_ISREG(VFS_I(ip)->i_mode)) { in xfs_flags2diflags()
1100 struct xfs_inode *ip, in xfs_flags2diflags2() argument
1104 (ip->i_diflags2 & (XFS_DIFLAG2_REFLINK | in xfs_flags2diflags2()
1119 struct xfs_inode *ip, in xfs_ioctl_setattr_xflags() argument
1122 struct xfs_mount *mp = ip->i_mount; in xfs_ioctl_setattr_xflags()
1126 if (rtflag != XFS_IS_REALTIME_INODE(ip)) { in xfs_ioctl_setattr_xflags()
1128 if (ip->i_df.if_nextents || ip->i_delayed_blks) in xfs_ioctl_setattr_xflags()
1135 (ip->i_extsize % mp->m_sb.sb_rextsize)) in xfs_ioctl_setattr_xflags()
1139 if (xfs_is_reflink_inode(ip)) in xfs_ioctl_setattr_xflags()
1140 ip->i_diflags2 &= ~XFS_DIFLAG2_REFLINK; in xfs_ioctl_setattr_xflags()
1144 i_flags2 = xfs_flags2diflags2(ip, fa->fsx_xflags); in xfs_ioctl_setattr_xflags()
1148 ip->i_diflags = xfs_flags2diflags(ip, fa->fsx_xflags); in xfs_ioctl_setattr_xflags()
1149 ip->i_diflags2 = i_flags2; in xfs_ioctl_setattr_xflags()
1151 xfs_diflags_to_iflags(ip, false); in xfs_ioctl_setattr_xflags()
1157 if (rtflag != XFS_IS_REALTIME_INODE(ip) && S_ISREG(VFS_I(ip)->i_mode)) in xfs_ioctl_setattr_xflags()
1158 xfs_update_stable_writes(ip); in xfs_ioctl_setattr_xflags()
1160 xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_CHG); in xfs_ioctl_setattr_xflags()
1161 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_ioctl_setattr_xflags()
1168 struct xfs_inode *ip, in xfs_ioctl_setattr_prepare_dax() argument
1171 struct xfs_mount *mp = ip->i_mount; in xfs_ioctl_setattr_prepare_dax()
1172 struct inode *inode = VFS_I(ip); in xfs_ioctl_setattr_prepare_dax()
1181 !(ip->i_diflags2 & XFS_DIFLAG2_DAX)) || in xfs_ioctl_setattr_prepare_dax()
1183 (ip->i_diflags2 & XFS_DIFLAG2_DAX))) in xfs_ioctl_setattr_prepare_dax()
1195 struct xfs_inode *ip, in xfs_ioctl_setattr_get_trans() argument
1198 struct xfs_mount *mp = ip->i_mount; in xfs_ioctl_setattr_get_trans()
1208 error = xfs_trans_alloc_ichange(ip, NULL, NULL, pdqp, in xfs_ioctl_setattr_get_trans()
1228 struct xfs_inode *ip, in xfs_ioctl_setattr_check_extsize() argument
1231 struct xfs_mount *mp = ip->i_mount; in xfs_ioctl_setattr_check_extsize()
1238 if (S_ISREG(VFS_I(ip)->i_mode) && ip->i_df.if_nextents && in xfs_ioctl_setattr_check_extsize()
1239 XFS_FSB_TO_B(mp, ip->i_extsize) != fa->fsx_extsize) in xfs_ioctl_setattr_check_extsize()
1245 new_diflags = xfs_flags2diflags(ip, fa->fsx_xflags); in xfs_ioctl_setattr_check_extsize()
1262 failaddr = xfs_inode_validate_extsize(ip->i_mount, in xfs_ioctl_setattr_check_extsize()
1264 VFS_I(ip)->i_mode, new_diflags); in xfs_ioctl_setattr_check_extsize()
1270 struct xfs_inode *ip, in xfs_ioctl_setattr_check_cowextsize() argument
1273 struct xfs_mount *mp = ip->i_mount; in xfs_ioctl_setattr_check_cowextsize()
1284 new_diflags = xfs_flags2diflags(ip, fa->fsx_xflags); in xfs_ioctl_setattr_check_cowextsize()
1285 new_diflags2 = xfs_flags2diflags2(ip, fa->fsx_xflags); in xfs_ioctl_setattr_check_cowextsize()
1287 failaddr = xfs_inode_validate_cowextsize(ip->i_mount, in xfs_ioctl_setattr_check_cowextsize()
1289 VFS_I(ip)->i_mode, new_diflags, new_diflags2); in xfs_ioctl_setattr_check_cowextsize()
1295 struct xfs_inode *ip, in xfs_ioctl_setattr_check_projid() argument
1303 !xfs_has_projid32(ip->i_mount)) in xfs_ioctl_setattr_check_projid()
1314 struct xfs_inode *ip = XFS_I(d_inode(dentry)); in xfs_fileattr_set() local
1315 struct xfs_mount *mp = ip->i_mount; in xfs_fileattr_set()
1321 trace_xfs_ioctl_setattr(ip); in xfs_fileattr_set()
1333 error = xfs_ioctl_setattr_check_projid(ip, fa); in xfs_fileattr_set()
1346 error = xfs_qm_vop_dqalloc(ip, VFS_I(ip)->i_uid, in xfs_fileattr_set()
1347 VFS_I(ip)->i_gid, fa->fsx_projid, in xfs_fileattr_set()
1353 xfs_ioctl_setattr_prepare_dax(ip, fa); in xfs_fileattr_set()
1355 tp = xfs_ioctl_setattr_get_trans(ip, pdqp); in xfs_fileattr_set()
1361 error = xfs_ioctl_setattr_check_extsize(ip, fa); in xfs_fileattr_set()
1365 error = xfs_ioctl_setattr_check_cowextsize(ip, fa); in xfs_fileattr_set()
1369 error = xfs_ioctl_setattr_xflags(tp, ip, fa); in xfs_fileattr_set()
1383 if ((VFS_I(ip)->i_mode & (S_ISUID|S_ISGID)) && in xfs_fileattr_set()
1384 !capable_wrt_inode_uidgid(idmap, VFS_I(ip), CAP_FSETID)) in xfs_fileattr_set()
1385 VFS_I(ip)->i_mode &= ~(S_ISUID|S_ISGID); in xfs_fileattr_set()
1388 if (ip->i_projid != fa->fsx_projid) { in xfs_fileattr_set()
1390 olddquot = xfs_qm_vop_chown(tp, ip, in xfs_fileattr_set()
1391 &ip->i_pdquot, pdqp); in xfs_fileattr_set()
1393 ip->i_projid = fa->fsx_projid; in xfs_fileattr_set()
1401 if (ip->i_diflags & (XFS_DIFLAG_EXTSIZE | XFS_DIFLAG_EXTSZINHERIT)) in xfs_fileattr_set()
1402 ip->i_extsize = XFS_B_TO_FSB(mp, fa->fsx_extsize); in xfs_fileattr_set()
1404 ip->i_extsize = 0; in xfs_fileattr_set()
1407 if (ip->i_diflags2 & XFS_DIFLAG2_COWEXTSIZE) in xfs_fileattr_set()
1408 ip->i_cowextsize = XFS_B_TO_FSB(mp, fa->fsx_cowextsize); in xfs_fileattr_set()
1410 ip->i_cowextsize = 0; in xfs_fileattr_set()
1514 struct xfs_inode *ip, in xfs_ioc_getfsmap() argument
1554 trace_xfs_getfsmap_low_key(ip->i_mount, &xhead.fmh_keys[0]); in xfs_ioc_getfsmap()
1555 trace_xfs_getfsmap_high_key(ip->i_mount, &xhead.fmh_keys[1]); in xfs_ioc_getfsmap()
1568 error = xfs_getfsmap(ip->i_mount, &xhead, recs); in xfs_ioc_getfsmap()
1611 trace_xfs_getfsmap_low_key(ip->i_mount, &xhead.fmh_keys[0]); in xfs_ioc_getfsmap()
1670 xfs_inode_t *ip, *tip; in xfs_ioc_swapext() local
1718 ip = XFS_I(file_inode(f.file)); in xfs_ioc_swapext()
1721 if (ip->i_mount != tip->i_mount) { in xfs_ioc_swapext()
1726 if (ip->i_ino == tip->i_ino) { in xfs_ioc_swapext()
1731 if (xfs_is_shutdown(ip->i_mount)) { in xfs_ioc_swapext()
1736 error = xfs_swap_extents(ip, tip, sxp); in xfs_ioc_swapext()
1896 struct xfs_inode *ip = XFS_I(inode); in xfs_file_ioctl() local
1897 struct xfs_mount *mp = ip->i_mount; in xfs_file_ioctl()
1901 trace_xfs_file_ioctl(ip); in xfs_file_ioctl()
1919 struct xfs_buftarg *target = xfs_inode_buftarg(ip); in xfs_file_ioctl()
1954 return xfs_ioc_fsgetxattra(ip, arg); in xfs_file_ioctl()
1962 return xfs_ioc_getfsmap(ip, arg); in xfs_file_ioctl()