Lines Matching refs:ip

46 	struct xfs_inode	*ip = iip->ili_inode;  in xfs_inode_item_data_fork_size()  local
48 switch (ip->i_d.di_format) { in xfs_inode_item_data_fork_size()
51 ip->i_d.di_nextents > 0 && in xfs_inode_item_data_fork_size()
52 ip->i_df.if_bytes > 0) { in xfs_inode_item_data_fork_size()
54 *nbytes += XFS_IFORK_DSIZE(ip); in xfs_inode_item_data_fork_size()
60 ip->i_df.if_broot_bytes > 0) { in xfs_inode_item_data_fork_size()
61 *nbytes += ip->i_df.if_broot_bytes; in xfs_inode_item_data_fork_size()
67 ip->i_df.if_bytes > 0) { in xfs_inode_item_data_fork_size()
68 *nbytes += roundup(ip->i_df.if_bytes, 4); in xfs_inode_item_data_fork_size()
88 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_attr_fork_size() local
90 switch (ip->i_d.di_aformat) { in xfs_inode_item_attr_fork_size()
93 ip->i_d.di_anextents > 0 && in xfs_inode_item_attr_fork_size()
94 ip->i_afp->if_bytes > 0) { in xfs_inode_item_attr_fork_size()
96 *nbytes += XFS_IFORK_ASIZE(ip); in xfs_inode_item_attr_fork_size()
102 ip->i_afp->if_broot_bytes > 0) { in xfs_inode_item_attr_fork_size()
103 *nbytes += ip->i_afp->if_broot_bytes; in xfs_inode_item_attr_fork_size()
109 ip->i_afp->if_bytes > 0) { in xfs_inode_item_attr_fork_size()
110 *nbytes += roundup(ip->i_afp->if_bytes, 4); in xfs_inode_item_attr_fork_size()
134 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_size() local
138 xfs_icdinode_size(ip->i_d.di_version); in xfs_inode_item_size()
141 if (XFS_IFORK_Q(ip)) in xfs_inode_item_size()
152 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_format_data_fork() local
155 switch (ip->i_d.di_format) { in xfs_inode_item_format_data_fork()
162 ip->i_d.di_nextents > 0 && in xfs_inode_item_format_data_fork()
163 ip->i_df.if_bytes > 0) { in xfs_inode_item_format_data_fork()
166 ASSERT(ip->i_df.if_u1.if_extents != NULL); in xfs_inode_item_format_data_fork()
167 ASSERT(ip->i_df.if_bytes / sizeof(xfs_bmbt_rec_t) > 0); in xfs_inode_item_format_data_fork()
170 data_bytes = xfs_iextents_copy(ip, p, XFS_DATA_FORK); in xfs_inode_item_format_data_fork()
173 ASSERT(data_bytes <= ip->i_df.if_bytes); in xfs_inode_item_format_data_fork()
187 ip->i_df.if_broot_bytes > 0) { in xfs_inode_item_format_data_fork()
188 ASSERT(ip->i_df.if_broot != NULL); in xfs_inode_item_format_data_fork()
190 ip->i_df.if_broot, in xfs_inode_item_format_data_fork()
191 ip->i_df.if_broot_bytes); in xfs_inode_item_format_data_fork()
192 ilf->ilf_dsize = ip->i_df.if_broot_bytes; in xfs_inode_item_format_data_fork()
205 ip->i_df.if_bytes > 0) { in xfs_inode_item_format_data_fork()
211 data_bytes = roundup(ip->i_df.if_bytes, 4); in xfs_inode_item_format_data_fork()
212 ASSERT(ip->i_df.if_real_bytes == 0 || in xfs_inode_item_format_data_fork()
213 ip->i_df.if_real_bytes == data_bytes); in xfs_inode_item_format_data_fork()
214 ASSERT(ip->i_df.if_u1.if_data != NULL); in xfs_inode_item_format_data_fork()
215 ASSERT(ip->i_d.di_size > 0); in xfs_inode_item_format_data_fork()
217 ip->i_df.if_u1.if_data, data_bytes); in xfs_inode_item_format_data_fork()
229 ilf->ilf_u.ilfu_rdev = ip->i_df.if_u2.if_rdev; in xfs_inode_item_format_data_fork()
236 ilf->ilf_u.ilfu_uuid = ip->i_df.if_u2.if_uuid; in xfs_inode_item_format_data_fork()
251 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_format_attr_fork() local
254 switch (ip->i_d.di_aformat) { in xfs_inode_item_format_attr_fork()
260 ip->i_d.di_anextents > 0 && in xfs_inode_item_format_attr_fork()
261 ip->i_afp->if_bytes > 0) { in xfs_inode_item_format_attr_fork()
264 ASSERT(ip->i_afp->if_bytes / sizeof(xfs_bmbt_rec_t) == in xfs_inode_item_format_attr_fork()
265 ip->i_d.di_anextents); in xfs_inode_item_format_attr_fork()
266 ASSERT(ip->i_afp->if_u1.if_extents != NULL); in xfs_inode_item_format_attr_fork()
269 data_bytes = xfs_iextents_copy(ip, p, XFS_ATTR_FORK); in xfs_inode_item_format_attr_fork()
283 ip->i_afp->if_broot_bytes > 0) { in xfs_inode_item_format_attr_fork()
284 ASSERT(ip->i_afp->if_broot != NULL); in xfs_inode_item_format_attr_fork()
287 ip->i_afp->if_broot, in xfs_inode_item_format_attr_fork()
288 ip->i_afp->if_broot_bytes); in xfs_inode_item_format_attr_fork()
289 ilf->ilf_asize = ip->i_afp->if_broot_bytes; in xfs_inode_item_format_attr_fork()
300 ip->i_afp->if_bytes > 0) { in xfs_inode_item_format_attr_fork()
306 data_bytes = roundup(ip->i_afp->if_bytes, 4); in xfs_inode_item_format_attr_fork()
307 ASSERT(ip->i_afp->if_real_bytes == 0 || in xfs_inode_item_format_attr_fork()
308 ip->i_afp->if_real_bytes == data_bytes); in xfs_inode_item_format_attr_fork()
309 ASSERT(ip->i_afp->if_u1.if_data != NULL); in xfs_inode_item_format_attr_fork()
311 ip->i_afp->if_u1.if_data, in xfs_inode_item_format_attr_fork()
338 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_format() local
342 ASSERT(ip->i_d.di_version > 1); in xfs_inode_item_format()
346 ilf->ilf_ino = ip->i_ino; in xfs_inode_item_format()
347 ilf->ilf_blkno = ip->i_imap.im_blkno; in xfs_inode_item_format()
348 ilf->ilf_len = ip->i_imap.im_len; in xfs_inode_item_format()
349 ilf->ilf_boffset = ip->i_imap.im_boffset; in xfs_inode_item_format()
355 &ip->i_d, in xfs_inode_item_format()
356 xfs_icdinode_size(ip->i_d.di_version)); in xfs_inode_item_format()
359 if (XFS_IFORK_Q(ip)) { in xfs_inode_item_format()
378 struct xfs_inode *ip = INODE_ITEM(lip)->ili_inode; in xfs_inode_item_pin() local
380 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_inode_item_pin()
382 trace_xfs_inode_pin(ip, _RET_IP_); in xfs_inode_item_pin()
383 atomic_inc(&ip->i_pincount); in xfs_inode_item_pin()
398 struct xfs_inode *ip = INODE_ITEM(lip)->ili_inode; in xfs_inode_item_unpin() local
400 trace_xfs_inode_unpin(ip, _RET_IP_); in xfs_inode_item_unpin()
401 ASSERT(atomic_read(&ip->i_pincount) > 0); in xfs_inode_item_unpin()
402 if (atomic_dec_and_test(&ip->i_pincount)) in xfs_inode_item_unpin()
403 wake_up_bit(&ip->i_flags, __XFS_IPINNED_BIT); in xfs_inode_item_unpin()
412 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_push() local
417 if (xfs_ipincount(ip) > 0) in xfs_inode_item_push()
420 if (!xfs_ilock_nowait(ip, XFS_ILOCK_SHARED)) in xfs_inode_item_push()
427 if (xfs_ipincount(ip) > 0) { in xfs_inode_item_push()
435 if (ip->i_flags & XFS_ISTALE) { in xfs_inode_item_push()
445 if (!xfs_iflock_nowait(ip)) { in xfs_inode_item_push()
450 ASSERT(iip->ili_fields != 0 || XFS_FORCED_SHUTDOWN(ip->i_mount)); in xfs_inode_item_push()
451 ASSERT(iip->ili_logged == 0 || XFS_FORCED_SHUTDOWN(ip->i_mount)); in xfs_inode_item_push()
455 error = xfs_iflush(ip, &bp); in xfs_inode_item_push()
464 xfs_iunlock(ip, XFS_ILOCK_SHARED); in xfs_inode_item_push()
479 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_unlock() local
482 ASSERT(ip->i_itemp != NULL); in xfs_inode_item_unlock()
483 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_inode_item_unlock()
488 xfs_iunlock(ip, lock_flags); in xfs_inode_item_unlock()
519 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_committed() local
521 if (xfs_iflags_test(ip, XFS_ISTALE)) { in xfs_inode_item_committed()
560 struct xfs_inode *ip, in xfs_inode_item_init() argument
565 ASSERT(ip->i_itemp == NULL); in xfs_inode_item_init()
566 iip = ip->i_itemp = kmem_zone_zalloc(xfs_ili_zone, KM_SLEEP); in xfs_inode_item_init()
568 iip->ili_inode = ip; in xfs_inode_item_init()
578 xfs_inode_t *ip) in xfs_inode_item_destroy() argument
580 kmem_zone_free(xfs_ili_zone, ip->i_itemp); in xfs_inode_item_destroy()
700 xfs_inode_t *ip, in xfs_iflush_abort() argument
703 xfs_inode_log_item_t *iip = ip->i_itemp; in xfs_iflush_abort()
727 xfs_ifunlock(ip); in xfs_iflush_abort()