Lines Matching refs:ip

51 	struct xfs_inode	*ip = iip->ili_inode;  in xfs_inode_item_data_fork_size()  local
53 switch (ip->i_df.if_format) { in xfs_inode_item_data_fork_size()
56 ip->i_df.if_nextents > 0 && in xfs_inode_item_data_fork_size()
57 ip->i_df.if_bytes > 0) { in xfs_inode_item_data_fork_size()
59 *nbytes += XFS_IFORK_DSIZE(ip); in xfs_inode_item_data_fork_size()
65 ip->i_df.if_broot_bytes > 0) { in xfs_inode_item_data_fork_size()
66 *nbytes += ip->i_df.if_broot_bytes; in xfs_inode_item_data_fork_size()
72 ip->i_df.if_bytes > 0) { in xfs_inode_item_data_fork_size()
73 *nbytes += roundup(ip->i_df.if_bytes, 4); in xfs_inode_item_data_fork_size()
92 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_attr_fork_size() local
94 switch (ip->i_afp->if_format) { in xfs_inode_item_attr_fork_size()
97 ip->i_afp->if_nextents > 0 && in xfs_inode_item_attr_fork_size()
98 ip->i_afp->if_bytes > 0) { in xfs_inode_item_attr_fork_size()
100 *nbytes += XFS_IFORK_ASIZE(ip); in xfs_inode_item_attr_fork_size()
106 ip->i_afp->if_broot_bytes > 0) { in xfs_inode_item_attr_fork_size()
107 *nbytes += ip->i_afp->if_broot_bytes; in xfs_inode_item_attr_fork_size()
113 ip->i_afp->if_bytes > 0) { in xfs_inode_item_attr_fork_size()
114 *nbytes += roundup(ip->i_afp->if_bytes, 4); in xfs_inode_item_attr_fork_size()
138 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_size() local
142 xfs_log_dinode_size(ip->i_mount); in xfs_inode_item_size()
145 if (XFS_IFORK_Q(ip)) in xfs_inode_item_size()
156 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_format_data_fork() local
159 switch (ip->i_df.if_format) { in xfs_inode_item_format_data_fork()
165 ip->i_df.if_nextents > 0 && in xfs_inode_item_format_data_fork()
166 ip->i_df.if_bytes > 0) { in xfs_inode_item_format_data_fork()
169 ASSERT(xfs_iext_count(&ip->i_df) > 0); in xfs_inode_item_format_data_fork()
172 data_bytes = xfs_iextents_copy(ip, p, XFS_DATA_FORK); in xfs_inode_item_format_data_fork()
175 ASSERT(data_bytes <= ip->i_df.if_bytes); in xfs_inode_item_format_data_fork()
188 ip->i_df.if_broot_bytes > 0) { in xfs_inode_item_format_data_fork()
189 ASSERT(ip->i_df.if_broot != NULL); in xfs_inode_item_format_data_fork()
191 ip->i_df.if_broot, in xfs_inode_item_format_data_fork()
192 ip->i_df.if_broot_bytes); in xfs_inode_item_format_data_fork()
193 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_u1.if_data != NULL); in xfs_inode_item_format_data_fork()
213 ASSERT(ip->i_disk_size > 0); in xfs_inode_item_format_data_fork()
215 ip->i_df.if_u1.if_data, data_bytes); in xfs_inode_item_format_data_fork()
226 ilf->ilf_u.ilfu_rdev = sysv_encode_dev(VFS_I(ip)->i_rdev); in xfs_inode_item_format_data_fork()
241 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_format_attr_fork() local
244 switch (ip->i_afp->if_format) { in xfs_inode_item_format_attr_fork()
250 ip->i_afp->if_nextents > 0 && in xfs_inode_item_format_attr_fork()
251 ip->i_afp->if_bytes > 0) { in xfs_inode_item_format_attr_fork()
254 ASSERT(xfs_iext_count(ip->i_afp) == in xfs_inode_item_format_attr_fork()
255 ip->i_afp->if_nextents); in xfs_inode_item_format_attr_fork()
258 data_bytes = xfs_iextents_copy(ip, p, XFS_ATTR_FORK); in xfs_inode_item_format_attr_fork()
272 ip->i_afp->if_broot_bytes > 0) { in xfs_inode_item_format_attr_fork()
273 ASSERT(ip->i_afp->if_broot != NULL); in xfs_inode_item_format_attr_fork()
276 ip->i_afp->if_broot, in xfs_inode_item_format_attr_fork()
277 ip->i_afp->if_broot_bytes); in xfs_inode_item_format_attr_fork()
278 ilf->ilf_asize = ip->i_afp->if_broot_bytes; in xfs_inode_item_format_attr_fork()
289 ip->i_afp->if_bytes > 0) { in xfs_inode_item_format_attr_fork()
295 data_bytes = roundup(ip->i_afp->if_bytes, 4); in xfs_inode_item_format_attr_fork()
296 ASSERT(ip->i_afp->if_u1.if_data != NULL); in xfs_inode_item_format_attr_fork()
298 ip->i_afp->if_u1.if_data, in xfs_inode_item_format_attr_fork()
318 struct xfs_inode *ip, in xfs_inode_to_log_dinode_ts() argument
324 if (xfs_inode_has_bigtime(ip)) in xfs_inode_to_log_dinode_ts()
344 struct xfs_inode *ip, in xfs_copy_dm_fields_to_log_dinode() argument
349 dip = xfs_buf_offset(ip->i_itemp->ili_item.li_buf, in xfs_copy_dm_fields_to_log_dinode()
350 ip->i_imap.im_boffset); in xfs_copy_dm_fields_to_log_dinode()
352 if (xfs_iflags_test(ip, XFS_IPRESERVE_DM_FIELDS)) { in xfs_copy_dm_fields_to_log_dinode()
363 struct xfs_inode *ip, in xfs_inode_to_log_dinode() argument
367 struct inode *inode = VFS_I(ip); in xfs_inode_to_log_dinode()
370 to->di_format = xfs_ifork_format(&ip->i_df); in xfs_inode_to_log_dinode()
373 to->di_projid_lo = ip->i_projid & 0xffff; in xfs_inode_to_log_dinode()
374 to->di_projid_hi = ip->i_projid >> 16; in xfs_inode_to_log_dinode()
378 to->di_atime = xfs_inode_to_log_dinode_ts(ip, inode->i_atime); in xfs_inode_to_log_dinode()
379 to->di_mtime = xfs_inode_to_log_dinode_ts(ip, inode->i_mtime); in xfs_inode_to_log_dinode()
380 to->di_ctime = xfs_inode_to_log_dinode_ts(ip, inode->i_ctime); in xfs_inode_to_log_dinode()
385 to->di_size = ip->i_disk_size; in xfs_inode_to_log_dinode()
386 to->di_nblocks = ip->i_nblocks; in xfs_inode_to_log_dinode()
387 to->di_extsize = ip->i_extsize; in xfs_inode_to_log_dinode()
388 to->di_nextents = xfs_ifork_nextents(&ip->i_df); in xfs_inode_to_log_dinode()
389 to->di_anextents = xfs_ifork_nextents(ip->i_afp); in xfs_inode_to_log_dinode()
390 to->di_forkoff = ip->i_forkoff; in xfs_inode_to_log_dinode()
391 to->di_aformat = xfs_ifork_format(ip->i_afp); in xfs_inode_to_log_dinode()
392 to->di_flags = ip->i_diflags; in xfs_inode_to_log_dinode()
394 xfs_copy_dm_fields_to_log_dinode(ip, to); in xfs_inode_to_log_dinode()
399 if (xfs_has_v3inodes(ip->i_mount)) { in xfs_inode_to_log_dinode()
402 to->di_crtime = xfs_inode_to_log_dinode_ts(ip, ip->i_crtime); in xfs_inode_to_log_dinode()
403 to->di_flags2 = ip->i_diflags2; in xfs_inode_to_log_dinode()
404 to->di_cowextsize = ip->i_cowextsize; in xfs_inode_to_log_dinode()
405 to->di_ino = ip->i_ino; in xfs_inode_to_log_dinode()
408 uuid_copy(&to->di_uuid, &ip->i_mount->m_sb.sb_meta_uuid); in xfs_inode_to_log_dinode()
412 to->di_flushiter = ip->i_flushiter; in xfs_inode_to_log_dinode()
423 struct xfs_inode *ip, in xfs_inode_item_format_core() argument
430 xfs_inode_to_log_dinode(ip, dic, ip->i_itemp->ili_item.li_lsn); in xfs_inode_item_format_core()
431 xlog_finish_iovec(lv, *vecp, xfs_log_dinode_size(ip->i_mount)); in xfs_inode_item_format_core()
452 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_format() local
458 ilf->ilf_ino = ip->i_ino; in xfs_inode_item_format()
459 ilf->ilf_blkno = ip->i_imap.im_blkno; in xfs_inode_item_format()
460 ilf->ilf_len = ip->i_imap.im_len; in xfs_inode_item_format()
461 ilf->ilf_boffset = ip->i_imap.im_boffset; in xfs_inode_item_format()
476 xfs_inode_item_format_core(ip, lv, &vecp); in xfs_inode_item_format()
478 if (XFS_IFORK_Q(ip)) { in xfs_inode_item_format()
497 struct xfs_inode *ip = INODE_ITEM(lip)->ili_inode; in xfs_inode_item_pin() local
499 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_inode_item_pin()
502 trace_xfs_inode_pin(ip, _RET_IP_); in xfs_inode_item_pin()
503 atomic_inc(&ip->i_pincount); in xfs_inode_item_pin()
524 struct xfs_inode *ip = INODE_ITEM(lip)->ili_inode; in xfs_inode_item_unpin() local
526 trace_xfs_inode_unpin(ip, _RET_IP_); in xfs_inode_item_unpin()
527 ASSERT(lip->li_buf || xfs_iflags_test(ip, XFS_ISTALE)); in xfs_inode_item_unpin()
528 ASSERT(atomic_read(&ip->i_pincount) > 0); in xfs_inode_item_unpin()
529 if (atomic_dec_and_test(&ip->i_pincount)) in xfs_inode_item_unpin()
530 wake_up_bit(&ip->i_flags, __XFS_IPINNED_BIT); in xfs_inode_item_unpin()
541 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_push() local
548 if (xfs_ipincount(ip) > 0 || xfs_buf_ispinned(bp) || in xfs_inode_item_push()
549 (ip->i_flags & XFS_ISTALE)) in xfs_inode_item_push()
552 if (xfs_iflags_test(ip, XFS_IFLUSHING)) in xfs_inode_item_push()
594 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_release() local
597 ASSERT(ip->i_itemp != NULL); in xfs_inode_item_release()
598 ASSERT(xfs_isilocked(ip, XFS_ILOCK_EXCL)); in xfs_inode_item_release()
603 xfs_iunlock(ip, lock_flags); in xfs_inode_item_release()
634 struct xfs_inode *ip = iip->ili_inode; in xfs_inode_item_committed() local
636 if (xfs_iflags_test(ip, XFS_ISTALE)) { in xfs_inode_item_committed()
669 struct xfs_inode *ip, in xfs_inode_item_init() argument
674 ASSERT(ip->i_itemp == NULL); in xfs_inode_item_init()
675 iip = ip->i_itemp = kmem_cache_zalloc(xfs_ili_cache, in xfs_inode_item_init()
678 iip->ili_inode = ip; in xfs_inode_item_init()
689 struct xfs_inode *ip) in xfs_inode_item_destroy() argument
691 struct xfs_inode_log_item *iip = ip->i_itemp; in xfs_inode_item_destroy()
695 ip->i_itemp = NULL; in xfs_inode_item_destroy()
832 struct xfs_inode *ip) in xfs_iflush_abort() argument
834 struct xfs_inode_log_item *iip = ip->i_itemp; in xfs_iflush_abort()
860 xfs_iflags_clear(ip, XFS_IFLUSHING); in xfs_iflush_abort()