Lines Matching refs:fa
991 struct fileattr *fa) in xfs_fill_fsxattr() argument
996 fileattr_fill_xflags(fa, xfs_ip2xflags(ip)); in xfs_fill_fsxattr()
999 fa->fsx_extsize = XFS_FSB_TO_B(mp, ip->i_extsize); in xfs_fill_fsxattr()
1008 fa->fsx_xflags &= ~(FS_XFLAG_EXTSIZE | in xfs_fill_fsxattr()
1010 fa->fsx_extsize = 0; in xfs_fill_fsxattr()
1012 fa->fsx_extsize = XFS_FSB_TO_B(mp, ip->i_extsize); 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()
1020 fa->fsx_nextents = xfs_iext_count(ifp); in xfs_fill_fsxattr()
1022 fa->fsx_nextents = xfs_ifork_nextents(ifp); in xfs_fill_fsxattr()
1030 struct fileattr fa; in xfs_ioc_fsgetxattra() local
1033 xfs_fill_fsxattr(ip, XFS_ATTR_FORK, &fa); in xfs_ioc_fsgetxattra()
1036 return copy_fsxattr_to_user(&fa, arg); in xfs_ioc_fsgetxattra()
1042 struct fileattr *fa) in xfs_fileattr_get() argument
1050 xfs_fill_fsxattr(ip, XFS_DATA_FORK, fa); in xfs_fileattr_get()
1120 struct fileattr *fa) in xfs_ioctl_setattr_xflags() argument
1127 XFS_IS_REALTIME_INODE(ip) != (fa->fsx_xflags & FS_XFLAG_REALTIME)) in xfs_ioctl_setattr_xflags()
1131 if (fa->fsx_xflags & FS_XFLAG_REALTIME) { in xfs_ioctl_setattr_xflags()
1138 if ((fa->fsx_xflags & FS_XFLAG_REALTIME) && xfs_is_reflink_inode(ip)) in xfs_ioctl_setattr_xflags()
1142 if ((fa->fsx_xflags & FS_XFLAG_DAX) && xfs_is_reflink_inode(ip)) in xfs_ioctl_setattr_xflags()
1146 i_flags2 = xfs_flags2diflags2(ip, fa->fsx_xflags); in xfs_ioctl_setattr_xflags()
1150 ip->i_diflags = xfs_flags2diflags(ip, fa->fsx_xflags); in xfs_ioctl_setattr_xflags()
1163 struct fileattr *fa) in xfs_ioctl_setattr_prepare_dax() argument
1174 if (((fa->fsx_xflags & FS_XFLAG_DAX) && in xfs_ioctl_setattr_prepare_dax()
1176 (!(fa->fsx_xflags & FS_XFLAG_DAX) && in xfs_ioctl_setattr_prepare_dax()
1223 struct fileattr *fa) in xfs_ioctl_setattr_check_extsize() argument
1229 if (!fa->fsx_valid) in xfs_ioctl_setattr_check_extsize()
1233 XFS_FSB_TO_B(mp, ip->i_extsize) != fa->fsx_extsize) in xfs_ioctl_setattr_check_extsize()
1236 if (fa->fsx_extsize & mp->m_blockmask) in xfs_ioctl_setattr_check_extsize()
1239 new_diflags = xfs_flags2diflags(ip, fa->fsx_xflags); in xfs_ioctl_setattr_check_extsize()
1252 if (fa->fsx_extsize % rtextsize_bytes) in xfs_ioctl_setattr_check_extsize()
1257 XFS_B_TO_FSB(mp, fa->fsx_extsize), in xfs_ioctl_setattr_check_extsize()
1265 struct fileattr *fa) in xfs_ioctl_setattr_check_cowextsize() argument
1272 if (!fa->fsx_valid) in xfs_ioctl_setattr_check_cowextsize()
1275 if (fa->fsx_cowextsize & mp->m_blockmask) in xfs_ioctl_setattr_check_cowextsize()
1278 new_diflags = xfs_flags2diflags(ip, fa->fsx_xflags); in xfs_ioctl_setattr_check_cowextsize()
1279 new_diflags2 = xfs_flags2diflags2(ip, fa->fsx_xflags); in xfs_ioctl_setattr_check_cowextsize()
1282 XFS_B_TO_FSB(mp, fa->fsx_cowextsize), in xfs_ioctl_setattr_check_cowextsize()
1290 struct fileattr *fa) in xfs_ioctl_setattr_check_projid() argument
1292 if (!fa->fsx_valid) in xfs_ioctl_setattr_check_projid()
1296 if (fa->fsx_projid > (uint16_t)-1 && in xfs_ioctl_setattr_check_projid()
1306 struct fileattr *fa) in xfs_fileattr_set() argument
1320 if (!fa->fsx_valid) { in xfs_fileattr_set()
1321 if (fa->flags & ~(FS_IMMUTABLE_FL | FS_APPEND_FL | in xfs_fileattr_set()
1327 error = xfs_ioctl_setattr_check_projid(ip, fa); in xfs_fileattr_set()
1339 if (fa->fsx_valid && XFS_IS_QUOTA_ON(mp)) { in xfs_fileattr_set()
1341 VFS_I(ip)->i_gid, fa->fsx_projid, in xfs_fileattr_set()
1347 xfs_ioctl_setattr_prepare_dax(ip, fa); in xfs_fileattr_set()
1355 error = xfs_ioctl_setattr_check_extsize(ip, fa); in xfs_fileattr_set()
1359 error = xfs_ioctl_setattr_check_cowextsize(ip, fa); in xfs_fileattr_set()
1363 error = xfs_ioctl_setattr_xflags(tp, ip, fa); in xfs_fileattr_set()
1367 if (!fa->fsx_valid) in xfs_fileattr_set()
1382 if (ip->i_projid != fa->fsx_projid) { in xfs_fileattr_set()
1387 ip->i_projid = fa->fsx_projid; in xfs_fileattr_set()
1396 ip->i_extsize = XFS_B_TO_FSB(mp, fa->fsx_extsize); in xfs_fileattr_set()
1402 ip->i_cowextsize = XFS_B_TO_FSB(mp, fa->fsx_cowextsize); in xfs_fileattr_set()