Lines Matching refs:ip

75 	struct xfs_inode	*ip;  in xfs_find_handle()  local
88 ip = XFS_I(inode); in xfs_find_handle()
105 memcpy(&handle.ha_fsid, ip->i_mount->m_fixedfsid, sizeof(xfs_fsid_t)); in xfs_find_handle()
117 handle.ha_fid.fid_gen = ip->i_d.di_gen; in xfs_find_handle()
118 handle.ha_fid.fid_ino = ip->i_ino; in xfs_find_handle()
323 xfs_inode_t *ip, in xfs_set_dmattrs() argument
327 xfs_mount_t *mp = ip->i_mount; in xfs_set_dmattrs()
343 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_set_dmattrs()
344 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); in xfs_set_dmattrs()
346 ip->i_d.di_dmevmask = evmask; in xfs_set_dmattrs()
347 ip->i_d.di_dmstate = state; in xfs_set_dmattrs()
349 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_set_dmattrs()
614 struct xfs_inode *ip, in xfs_ioc_space() argument
630 if (!xfs_sb_version_hasextflgbit(&ip->i_mount->m_sb) && in xfs_ioc_space()
652 xfs_ilock(ip, iolock); in xfs_ioc_space()
657 xfs_ilock(ip, XFS_MMAPLOCK_EXCL); in xfs_ioc_space()
667 bf->l_start += XFS_ISIZE(ip); in xfs_ioc_space()
707 error = xfs_zero_file_space(ip, bf->l_start, bf->l_len); in xfs_ioc_space()
712 error = xfs_alloc_file_space(ip, bf->l_start, bf->l_len, in xfs_ioc_space()
717 error = xfs_free_file_space(ip, bf->l_start, bf->l_len); in xfs_ioc_space()
724 if (bf->l_start > XFS_ISIZE(ip)) { in xfs_ioc_space()
725 error = xfs_alloc_file_space(ip, XFS_ISIZE(ip), in xfs_ioc_space()
726 bf->l_start - XFS_ISIZE(ip), 0); in xfs_ioc_space()
734 error = xfs_setattr_size(ip, &iattr); in xfs_ioc_space()
744 error = xfs_update_prealloc_flags(ip, flags); in xfs_ioc_space()
747 xfs_iunlock(ip, iolock); in xfs_ioc_space()
906 xfs_inode_t *ip, in xfs_ioc_fsgetxattr() argument
914 xfs_ilock(ip, XFS_ILOCK_SHARED); in xfs_ioc_fsgetxattr()
915 fa.fsx_xflags = xfs_ip2xflags(ip); in xfs_ioc_fsgetxattr()
916 fa.fsx_extsize = ip->i_d.di_extsize << ip->i_mount->m_sb.sb_blocklog; in xfs_ioc_fsgetxattr()
917 fa.fsx_projid = xfs_get_projid(ip); in xfs_ioc_fsgetxattr()
920 if (ip->i_afp) { in xfs_ioc_fsgetxattr()
921 if (ip->i_afp->if_flags & XFS_IFEXTENTS) in xfs_ioc_fsgetxattr()
922 fa.fsx_nextents = ip->i_afp->if_bytes / in xfs_ioc_fsgetxattr()
925 fa.fsx_nextents = ip->i_d.di_anextents; in xfs_ioc_fsgetxattr()
929 if (ip->i_df.if_flags & XFS_IFEXTENTS) in xfs_ioc_fsgetxattr()
930 fa.fsx_nextents = ip->i_df.if_bytes / in xfs_ioc_fsgetxattr()
933 fa.fsx_nextents = ip->i_d.di_nextents; in xfs_ioc_fsgetxattr()
935 xfs_iunlock(ip, XFS_ILOCK_SHARED); in xfs_ioc_fsgetxattr()
944 struct xfs_inode *ip, in xfs_set_diflags() argument
950 di_flags = (ip->i_d.di_flags & XFS_DIFLAG_PREALLOC); in xfs_set_diflags()
965 if (S_ISDIR(ip->i_d.di_mode)) { in xfs_set_diflags()
974 } else if (S_ISREG(ip->i_d.di_mode)) { in xfs_set_diflags()
981 ip->i_d.di_flags = di_flags; in xfs_set_diflags()
986 struct xfs_inode *ip) in xfs_diflags_to_linux() argument
988 struct inode *inode = VFS_I(ip); in xfs_diflags_to_linux()
989 unsigned int xflags = xfs_ip2xflags(ip); in xfs_diflags_to_linux()
1012 struct xfs_inode *ip, in xfs_ioctl_setattr_xflags() argument
1015 struct xfs_mount *mp = ip->i_mount; in xfs_ioctl_setattr_xflags()
1018 if ((ip->i_d.di_nextents || ip->i_delayed_blks) && in xfs_ioctl_setattr_xflags()
1019 XFS_IS_REALTIME_INODE(ip) != (fa->fsx_xflags & XFS_XFLAG_REALTIME)) in xfs_ioctl_setattr_xflags()
1025 (ip->i_d.di_extsize % mp->m_sb.sb_rextsize)) in xfs_ioctl_setattr_xflags()
1033 if (((ip->i_d.di_flags & (XFS_DIFLAG_IMMUTABLE | XFS_DIFLAG_APPEND)) || in xfs_ioctl_setattr_xflags()
1038 xfs_set_diflags(ip, fa->fsx_xflags); in xfs_ioctl_setattr_xflags()
1039 xfs_diflags_to_linux(ip); in xfs_ioctl_setattr_xflags()
1040 xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_CHG); in xfs_ioctl_setattr_xflags()
1041 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_ioctl_setattr_xflags()
1054 struct xfs_inode *ip) in xfs_ioctl_setattr_get_trans() argument
1056 struct xfs_mount *mp = ip->i_mount; in xfs_ioctl_setattr_get_trans()
1070 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_ioctl_setattr_get_trans()
1071 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); in xfs_ioctl_setattr_get_trans()
1079 if (!inode_owner_or_capable(VFS_I(ip))) { in xfs_ioctl_setattr_get_trans()
1110 struct xfs_inode *ip, in xfs_ioctl_setattr_check_extsize() argument
1113 struct xfs_mount *mp = ip->i_mount; in xfs_ioctl_setattr_check_extsize()
1115 if ((fa->fsx_xflags & XFS_XFLAG_EXTSIZE) && !S_ISREG(ip->i_d.di_mode)) in xfs_ioctl_setattr_check_extsize()
1119 !S_ISDIR(ip->i_d.di_mode)) in xfs_ioctl_setattr_check_extsize()
1122 if (S_ISREG(ip->i_d.di_mode) && ip->i_d.di_nextents && in xfs_ioctl_setattr_check_extsize()
1123 ((ip->i_d.di_extsize << mp->m_sb.sb_blocklog) != fa->fsx_extsize)) in xfs_ioctl_setattr_check_extsize()
1134 if (XFS_IS_REALTIME_INODE(ip) || in xfs_ioctl_setattr_check_extsize()
1153 struct xfs_inode *ip, in xfs_ioctl_setattr_check_projid() argument
1158 !xfs_sb_version_hasprojid32bit(&ip->i_mount->m_sb)) in xfs_ioctl_setattr_check_projid()
1169 if (xfs_get_projid(ip) != fa->fsx_projid) in xfs_ioctl_setattr_check_projid()
1172 (ip->i_d.di_flags & XFS_DIFLAG_PROJINHERIT)) in xfs_ioctl_setattr_check_projid()
1180 xfs_inode_t *ip, in xfs_ioctl_setattr() argument
1183 struct xfs_mount *mp = ip->i_mount; in xfs_ioctl_setattr()
1190 trace_xfs_ioctl_setattr(ip); in xfs_ioctl_setattr()
1192 code = xfs_ioctl_setattr_check_projid(ip, fa); in xfs_ioctl_setattr()
1205 code = xfs_qm_vop_dqalloc(ip, ip->i_d.di_uid, in xfs_ioctl_setattr()
1206 ip->i_d.di_gid, fa->fsx_projid, in xfs_ioctl_setattr()
1212 tp = xfs_ioctl_setattr_get_trans(ip); in xfs_ioctl_setattr()
1220 xfs_get_projid(ip) != fa->fsx_projid) { in xfs_ioctl_setattr()
1221 code = xfs_qm_vop_chown_reserve(tp, ip, udqp, NULL, pdqp, in xfs_ioctl_setattr()
1227 code = xfs_ioctl_setattr_check_extsize(ip, fa); in xfs_ioctl_setattr()
1231 code = xfs_ioctl_setattr_xflags(tp, ip, fa); in xfs_ioctl_setattr()
1243 if ((ip->i_d.di_mode & (S_ISUID|S_ISGID)) && in xfs_ioctl_setattr()
1244 !capable_wrt_inode_uidgid(VFS_I(ip), CAP_FSETID)) in xfs_ioctl_setattr()
1245 ip->i_d.di_mode &= ~(S_ISUID|S_ISGID); in xfs_ioctl_setattr()
1248 if (xfs_get_projid(ip) != fa->fsx_projid) { in xfs_ioctl_setattr()
1250 olddquot = xfs_qm_vop_chown(tp, ip, in xfs_ioctl_setattr()
1251 &ip->i_pdquot, pdqp); in xfs_ioctl_setattr()
1253 ASSERT(ip->i_d.di_version > 1); in xfs_ioctl_setattr()
1254 xfs_set_projid(ip, fa->fsx_projid); in xfs_ioctl_setattr()
1262 if (ip->i_d.di_flags & (XFS_DIFLAG_EXTSIZE | XFS_DIFLAG_EXTSZINHERIT)) in xfs_ioctl_setattr()
1263 ip->i_d.di_extsize = fa->fsx_extsize >> mp->m_sb.sb_blocklog; in xfs_ioctl_setattr()
1265 ip->i_d.di_extsize = 0; in xfs_ioctl_setattr()
1288 xfs_inode_t *ip, in xfs_ioc_fssetxattr() argument
1301 error = xfs_ioctl_setattr(ip, &fa); in xfs_ioc_fssetxattr()
1308 xfs_inode_t *ip, in xfs_ioc_getxflags() argument
1313 flags = xfs_di2lxflags(ip->i_d.di_flags); in xfs_ioc_getxflags()
1321 struct xfs_inode *ip, in xfs_ioc_setxflags() argument
1338 fa.fsx_xflags = xfs_merge_ioc_xflags(flags, xfs_ip2xflags(ip)); in xfs_ioc_setxflags()
1344 tp = xfs_ioctl_setattr_get_trans(ip); in xfs_ioc_setxflags()
1350 error = xfs_ioctl_setattr_xflags(tp, ip, &fa); in xfs_ioc_setxflags()
1377 struct xfs_inode *ip, in xfs_ioc_getbmap() argument
1395 error = xfs_getbmap(ip, &bmx, xfs_getbmap_format, in xfs_ioc_getbmap()
1420 struct xfs_inode *ip, in xfs_ioc_getbmapx() argument
1435 error = xfs_getbmap(ip, &bmx, xfs_getbmapx_format, in xfs_ioc_getbmapx()
1451 xfs_inode_t *ip, *tip; in xfs_ioc_swapext() local
1488 ip = XFS_I(file_inode(f.file)); in xfs_ioc_swapext()
1491 if (ip->i_mount != tip->i_mount) { in xfs_ioc_swapext()
1496 if (ip->i_ino == tip->i_ino) { in xfs_ioc_swapext()
1501 if (XFS_FORCED_SHUTDOWN(ip->i_mount)) { in xfs_ioc_swapext()
1506 error = xfs_swap_extents(ip, tip, sxp); in xfs_ioc_swapext()
1529 struct xfs_inode *ip = XFS_I(inode); in xfs_file_ioctl() local
1530 struct xfs_mount *mp = ip->i_mount; in xfs_file_ioctl()
1538 trace_xfs_file_ioctl(ip); in xfs_file_ioctl()
1556 return xfs_ioc_space(ip, inode, filp, ioflags, cmd, &bf); in xfs_file_ioctl()
1561 XFS_IS_REALTIME_INODE(ip) ? in xfs_file_ioctl()
1587 return xfs_ioc_fsgetxattr(ip, 0, arg); in xfs_file_ioctl()
1589 return xfs_ioc_fsgetxattr(ip, 1, arg); in xfs_file_ioctl()
1591 return xfs_ioc_fssetxattr(ip, filp, arg); in xfs_file_ioctl()
1593 return xfs_ioc_getxflags(ip, arg); in xfs_file_ioctl()
1595 return xfs_ioc_setxflags(ip, filp, arg); in xfs_file_ioctl()
1607 error = xfs_set_dmattrs(ip, dmi.fsd_dmevmask, in xfs_file_ioctl()
1615 return xfs_ioc_getbmap(ip, ioflags, cmd, arg); in xfs_file_ioctl()
1618 return xfs_ioc_getbmapx(ip, arg); in xfs_file_ioctl()