Lines Matching refs:ip

81 	xfs_inode_t		*ip,  in xfs_iformat_fork()  argument
92 xfs_warn(ip->i_mount, in xfs_iformat_fork()
94 (unsigned long long)ip->i_ino, in xfs_iformat_fork()
100 ip->i_mount, dip); in xfs_iformat_fork()
104 if (unlikely(dip->di_forkoff > ip->i_mount->m_sb.sb_inodesize)) { in xfs_iformat_fork()
105 xfs_warn(ip->i_mount, "corrupt dinode %Lu, forkoff = 0x%x.", in xfs_iformat_fork()
106 (unsigned long long)ip->i_ino, in xfs_iformat_fork()
109 ip->i_mount, dip); in xfs_iformat_fork()
113 if (unlikely((ip->i_d.di_flags & XFS_DIFLAG_REALTIME) && in xfs_iformat_fork()
114 !ip->i_mount->m_rtdev_targp)) { in xfs_iformat_fork()
115 xfs_warn(ip->i_mount, in xfs_iformat_fork()
117 ip->i_ino); in xfs_iformat_fork()
119 XFS_ERRLEVEL_LOW, ip->i_mount, dip); in xfs_iformat_fork()
123 switch (ip->i_d.di_mode & S_IFMT) { in xfs_iformat_fork()
130 ip->i_mount, dip); in xfs_iformat_fork()
133 ip->i_d.di_size = 0; in xfs_iformat_fork()
134 ip->i_df.if_u2.if_rdev = xfs_dinode_get_rdev(dip); in xfs_iformat_fork()
146 xfs_warn(ip->i_mount, in xfs_iformat_fork()
148 (unsigned long long) ip->i_ino); in xfs_iformat_fork()
151 ip->i_mount, dip); in xfs_iformat_fork()
157 di_size > XFS_DFORK_DSIZE(dip, ip->i_mount))) { in xfs_iformat_fork()
158 xfs_warn(ip->i_mount, in xfs_iformat_fork()
160 (unsigned long long) ip->i_ino, in xfs_iformat_fork()
164 ip->i_mount, dip); in xfs_iformat_fork()
169 error = xfs_iformat_local(ip, dip, XFS_DATA_FORK, size); in xfs_iformat_fork()
172 error = xfs_iformat_extents(ip, dip, XFS_DATA_FORK); in xfs_iformat_fork()
175 error = xfs_iformat_btree(ip, dip, XFS_DATA_FORK); in xfs_iformat_fork()
179 ip->i_mount); in xfs_iformat_fork()
185 XFS_ERROR_REPORT("xfs_iformat(7)", XFS_ERRLEVEL_LOW, ip->i_mount); in xfs_iformat_fork()
194 ASSERT(ip->i_afp == NULL); in xfs_iformat_fork()
195 ip->i_afp = kmem_zone_zalloc(xfs_ifork_zone, KM_SLEEP | KM_NOFS); in xfs_iformat_fork()
203 xfs_warn(ip->i_mount, in xfs_iformat_fork()
205 (unsigned long long) ip->i_ino, in xfs_iformat_fork()
209 ip->i_mount, dip); in xfs_iformat_fork()
213 error = xfs_iformat_local(ip, dip, XFS_ATTR_FORK, size); in xfs_iformat_fork()
216 error = xfs_iformat_extents(ip, dip, XFS_ATTR_FORK); in xfs_iformat_fork()
219 error = xfs_iformat_btree(ip, dip, XFS_ATTR_FORK); in xfs_iformat_fork()
226 kmem_zone_free(xfs_ifork_zone, ip->i_afp); in xfs_iformat_fork()
227 ip->i_afp = NULL; in xfs_iformat_fork()
228 xfs_idestroy_fork(ip, XFS_DATA_FORK); in xfs_iformat_fork()
245 xfs_inode_t *ip, in xfs_iformat_local() argument
258 if (unlikely(size > XFS_DFORK_SIZE(dip, ip->i_mount, whichfork))) { in xfs_iformat_local()
259 xfs_warn(ip->i_mount, in xfs_iformat_local()
261 (unsigned long long) ip->i_ino, size, in xfs_iformat_local()
262 XFS_DFORK_SIZE(dip, ip->i_mount, whichfork)); in xfs_iformat_local()
264 ip->i_mount, dip); in xfs_iformat_local()
267 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_iformat_local()
297 xfs_inode_t *ip, in xfs_iformat_extents() argument
307 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_iformat_extents()
316 if (unlikely(size < 0 || size > XFS_DFORK_SIZE(dip, ip->i_mount, whichfork))) { in xfs_iformat_extents()
317 xfs_warn(ip->i_mount, "corrupt inode %Lu ((a)extents = %d).", in xfs_iformat_extents()
318 (unsigned long long) ip->i_ino, nex); in xfs_iformat_extents()
320 ip->i_mount, dip); in xfs_iformat_extents()
335 xfs_validate_extents(ifp, nex, XFS_EXTFMT_INODE(ip)); in xfs_iformat_extents()
341 XFS_BMAP_TRACE_EXLIST(ip, nex, whichfork); in xfs_iformat_extents()
343 XFS_EXTFMT_INODE(ip) == XFS_EXTFMT_NOSTATE) in xfs_iformat_extents()
348 ip->i_mount); in xfs_iformat_extents()
366 xfs_inode_t *ip, in xfs_iformat_btree() argument
370 struct xfs_mount *mp = ip->i_mount; in xfs_iformat_btree()
377 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_iformat_btree()
389 if (unlikely(XFS_IFORK_NEXTENTS(ip, whichfork) <= in xfs_iformat_btree()
390 XFS_IFORK_MAXEXT(ip, whichfork) || in xfs_iformat_btree()
393 XFS_IFORK_NEXTENTS(ip, whichfork) > ip->i_d.di_nblocks)) { in xfs_iformat_btree()
395 (unsigned long long) ip->i_ino); in xfs_iformat_btree()
408 xfs_bmdr_to_bmbt(ip, dfp, XFS_DFORK_SIZE(dip, ip->i_mount, whichfork), in xfs_iformat_btree()
423 xfs_inode_t *ip, in xfs_iread_extents() argument
430 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_iread_extents()
432 if (unlikely(XFS_IFORK_FORMAT(ip, whichfork) != XFS_DINODE_FMT_BTREE)) { in xfs_iread_extents()
434 ip->i_mount); in xfs_iread_extents()
437 nextents = XFS_IFORK_NEXTENTS(ip, whichfork); in xfs_iread_extents()
438 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_iread_extents()
446 error = xfs_bmap_read_extents(tp, ip, whichfork); in xfs_iread_extents()
452 xfs_validate_extents(ifp, nextents, XFS_EXTFMT_INODE(ip)); in xfs_iread_extents()
475 xfs_inode_t *ip, in xfs_iroot_realloc() argument
479 struct xfs_mount *mp = ip->i_mount; in xfs_iroot_realloc()
495 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_iroot_realloc()
526 XFS_IFORK_SIZE(ip, whichfork)); in xfs_iroot_realloc()
550 XFS_BMBT_BLOCK_LEN(ip->i_mount)); in xfs_iroot_realloc()
581 XFS_IFORK_SIZE(ip, whichfork)); in xfs_iroot_realloc()
603 xfs_inode_t *ip, in xfs_idata_realloc() argument
615 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_idata_realloc()
675 ASSERT(ifp->if_bytes <= XFS_IFORK_SIZE(ip, whichfork)); in xfs_idata_realloc()
680 xfs_inode_t *ip, in xfs_idestroy_fork() argument
685 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_idestroy_fork()
697 if (XFS_IFORK_FORMAT(ip, whichfork) == XFS_DINODE_FMT_LOCAL) { in xfs_idestroy_fork()
716 kmem_zone_free(xfs_ifork_zone, ip->i_afp); in xfs_idestroy_fork()
717 ip->i_afp = NULL; in xfs_idestroy_fork()
735 xfs_inode_t *ip, in xfs_iextents_copy() argument
745 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_iextents_copy()
746 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL|XFS_ILOCK_SHARED)); in xfs_iextents_copy()
750 XFS_BMAP_TRACE_EXLIST(ip, nrecs, whichfork); in xfs_iextents_copy()
777 xfs_validate_extents(ifp, copied, XFS_EXTFMT_INODE(ip)); in xfs_iextents_copy()
794 xfs_inode_t *ip, in xfs_iflush_fork() argument
811 ifp = XFS_IFORK_PTR(ip, whichfork); in xfs_iflush_fork()
821 mp = ip->i_mount; in xfs_iflush_fork()
822 switch (XFS_IFORK_FORMAT(ip, whichfork)) { in xfs_iflush_fork()
827 ASSERT(ifp->if_bytes <= XFS_IFORK_SIZE(ip, whichfork)); in xfs_iflush_fork()
838 ASSERT(XFS_IFORK_NEXTENTS(ip, whichfork) > 0); in xfs_iflush_fork()
839 (void)xfs_iextents_copy(ip, (xfs_bmbt_rec_t *)cp, in xfs_iflush_fork()
849 XFS_IFORK_SIZE(ip, whichfork)); in xfs_iflush_fork()
859 xfs_dinode_put_rdev(dip, ip->i_df.if_u2.if_rdev); in xfs_iflush_fork()
867 &ip->i_df.if_u2.if_uuid, in xfs_iflush_fork()
911 xfs_inode_t *ip, /* incore inode pointer */ in xfs_iext_insert() argument
917 xfs_ifork_t *ifp = (state & BMAP_ATTRFORK) ? ip->i_afp : &ip->i_df; in xfs_iext_insert()
920 trace_xfs_iext_insert(ip, idx, new, state, _RET_IP_); in xfs_iext_insert()
1162 xfs_inode_t *ip, /* incore inode pointer */ in xfs_iext_remove() argument
1167 xfs_ifork_t *ifp = (state & BMAP_ATTRFORK) ? ip->i_afp : &ip->i_df; in xfs_iext_remove()
1171 trace_xfs_iext_remove(ip, idx, state, _RET_IP_); in xfs_iext_remove()