Lines Matching refs:ip

54 	struct xfs_inode	*ip,  in xfs_rw_ilock()  argument
58 mutex_lock(&VFS_I(ip)->i_mutex); in xfs_rw_ilock()
59 xfs_ilock(ip, type); in xfs_rw_ilock()
64 struct xfs_inode *ip, in xfs_rw_iunlock() argument
67 xfs_iunlock(ip, type); in xfs_rw_iunlock()
69 mutex_unlock(&VFS_I(ip)->i_mutex); in xfs_rw_iunlock()
74 struct xfs_inode *ip, in xfs_rw_ilock_demote() argument
77 xfs_ilock_demote(ip, type); in xfs_rw_ilock_demote()
79 mutex_unlock(&VFS_I(ip)->i_mutex); in xfs_rw_ilock_demote()
95 struct xfs_inode *ip, /* inode */ in xfs_iozero() argument
104 mapping = VFS_I(ip)->i_mapping; in xfs_iozero()
114 if (IS_DAX(VFS_I(ip))) { in xfs_iozero()
115 status = dax_zero_page_range(VFS_I(ip), pos, bytes, in xfs_iozero()
142 struct xfs_inode *ip, in xfs_update_prealloc_flags() argument
148 tp = xfs_trans_alloc(ip->i_mount, XFS_TRANS_WRITEID); in xfs_update_prealloc_flags()
149 error = xfs_trans_reserve(tp, &M_RES(ip->i_mount)->tr_writeid, 0, 0); in xfs_update_prealloc_flags()
155 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_update_prealloc_flags()
156 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); in xfs_update_prealloc_flags()
159 ip->i_d.di_mode &= ~S_ISUID; in xfs_update_prealloc_flags()
160 if (ip->i_d.di_mode & S_IXGRP) in xfs_update_prealloc_flags()
161 ip->i_d.di_mode &= ~S_ISGID; in xfs_update_prealloc_flags()
162 xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); in xfs_update_prealloc_flags()
166 ip->i_d.di_flags |= XFS_DIFLAG_PREALLOC; in xfs_update_prealloc_flags()
168 ip->i_d.di_flags &= ~XFS_DIFLAG_PREALLOC; in xfs_update_prealloc_flags()
170 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_update_prealloc_flags()
189 struct xfs_inode *ip = XFS_I(file->f_mapping->host); in xfs_dir_fsync() local
190 struct xfs_mount *mp = ip->i_mount; in xfs_dir_fsync()
193 trace_xfs_dir_fsync(ip); in xfs_dir_fsync()
195 xfs_ilock(ip, XFS_ILOCK_SHARED); in xfs_dir_fsync()
196 if (xfs_ipincount(ip)) in xfs_dir_fsync()
197 lsn = ip->i_itemp->ili_last_lsn; in xfs_dir_fsync()
198 xfs_iunlock(ip, XFS_ILOCK_SHARED); in xfs_dir_fsync()
213 struct xfs_inode *ip = XFS_I(inode); in xfs_file_fsync() local
214 struct xfs_mount *mp = ip->i_mount; in xfs_file_fsync()
219 trace_xfs_file_fsync(ip); in xfs_file_fsync()
228 xfs_iflags_clear(ip, XFS_ITRUNCATED); in xfs_file_fsync()
238 if (XFS_IS_REALTIME_INODE(ip)) in xfs_file_fsync()
257 xfs_ilock(ip, XFS_ILOCK_SHARED); in xfs_file_fsync()
258 if (xfs_ipincount(ip)) { in xfs_file_fsync()
260 (ip->i_itemp->ili_fsync_fields & ~XFS_ILOG_TIMESTAMP)) in xfs_file_fsync()
261 lsn = ip->i_itemp->ili_last_lsn; in xfs_file_fsync()
266 ip->i_itemp->ili_fsync_fields = 0; in xfs_file_fsync()
268 xfs_iunlock(ip, XFS_ILOCK_SHARED); in xfs_file_fsync()
279 !XFS_IS_REALTIME_INODE(ip) && in xfs_file_fsync()
293 struct xfs_inode *ip = XFS_I(inode); in xfs_file_read_iter() local
294 struct xfs_mount *mp = ip->i_mount; in xfs_file_read_iter()
310 XFS_IS_REALTIME_INODE(ip) ? in xfs_file_read_iter()
340 xfs_rw_ilock(ip, XFS_IOLOCK_SHARED); in xfs_file_read_iter()
342 xfs_rw_iunlock(ip, XFS_IOLOCK_SHARED); in xfs_file_read_iter()
343 xfs_rw_ilock(ip, XFS_IOLOCK_EXCL); in xfs_file_read_iter()
357 ret = filemap_write_and_wait(VFS_I(ip)->i_mapping); in xfs_file_read_iter()
359 xfs_rw_iunlock(ip, XFS_IOLOCK_EXCL); in xfs_file_read_iter()
368 ret = invalidate_inode_pages2(VFS_I(ip)->i_mapping); in xfs_file_read_iter()
372 xfs_rw_ilock_demote(ip, XFS_IOLOCK_EXCL); in xfs_file_read_iter()
375 trace_xfs_file_read(ip, size, pos, ioflags); in xfs_file_read_iter()
381 xfs_rw_iunlock(ip, XFS_IOLOCK_SHARED); in xfs_file_read_iter()
393 struct xfs_inode *ip = XFS_I(infilp->f_mapping->host); in xfs_file_splice_read() local
397 XFS_STATS_INC(ip->i_mount, xs_read_calls); in xfs_file_splice_read()
402 if (XFS_FORCED_SHUTDOWN(ip->i_mount)) in xfs_file_splice_read()
405 xfs_rw_ilock(ip, XFS_IOLOCK_SHARED); in xfs_file_splice_read()
407 trace_xfs_file_splice_read(ip, count, *ppos, ioflags); in xfs_file_splice_read()
410 if (IS_DAX(VFS_I(ip))) in xfs_file_splice_read()
415 XFS_STATS_ADD(ip->i_mount, xs_read_bytes, ret); in xfs_file_splice_read()
417 xfs_rw_iunlock(ip, XFS_IOLOCK_SHARED); in xfs_file_splice_read()
429 struct xfs_inode *ip, in xfs_zero_last_block() argument
434 struct xfs_mount *mp = ip->i_mount; in xfs_zero_last_block()
442 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_zero_last_block()
443 error = xfs_bmapi_read(ip, last_fsb, 1, &imap, &nimaps, 0); in xfs_zero_last_block()
444 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_zero_last_block()
461 return xfs_iozero(ip, isize, zero_len); in xfs_zero_last_block()
477 struct xfs_inode *ip, in xfs_zero_eof() argument
482 struct xfs_mount *mp = ip->i_mount; in xfs_zero_eof()
493 ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL)); in xfs_zero_eof()
496 trace_xfs_zero_eof(ip, isize, offset - isize); in xfs_zero_eof()
504 error = xfs_zero_last_block(ip, offset, isize, did_zeroing); in xfs_zero_eof()
535 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_zero_eof()
536 error = xfs_bmapi_read(ip, start_zero_fsb, zero_count_fsb, in xfs_zero_eof()
538 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_zero_eof()
560 error = xfs_iozero(ip, zero_off, zero_len); in xfs_zero_eof()
587 struct xfs_inode *ip = XFS_I(inode); in xfs_file_aio_write_checks() local
603 xfs_rw_iunlock(ip, *iolock); in xfs_file_aio_write_checks()
605 xfs_rw_ilock(ip, *iolock); in xfs_file_aio_write_checks()
623 spin_lock(&ip->i_flags_lock); in xfs_file_aio_write_checks()
627 spin_unlock(&ip->i_flags_lock); in xfs_file_aio_write_checks()
630 xfs_rw_iunlock(ip, *iolock); in xfs_file_aio_write_checks()
632 xfs_rw_ilock(ip, *iolock); in xfs_file_aio_write_checks()
647 error = xfs_zero_eof(ip, iocb->ki_pos, i_size_read(inode), &zero); in xfs_file_aio_write_checks()
651 spin_unlock(&ip->i_flags_lock); in xfs_file_aio_write_checks()
708 struct xfs_inode *ip = XFS_I(inode); in xfs_file_dio_aio_write() local
709 struct xfs_mount *mp = ip->i_mount; in xfs_file_dio_aio_write()
717 struct xfs_buftarg *target = XFS_IS_REALTIME_INODE(ip) ? in xfs_file_dio_aio_write()
739 xfs_rw_ilock(ip, iolock); in xfs_file_dio_aio_write()
747 xfs_rw_iunlock(ip, iolock); in xfs_file_dio_aio_write()
749 xfs_rw_ilock(ip, iolock); in xfs_file_dio_aio_write()
763 ret = filemap_write_and_wait(VFS_I(ip)->i_mapping); in xfs_file_dio_aio_write()
771 ret = invalidate_inode_pages2(VFS_I(ip)->i_mapping); in xfs_file_dio_aio_write()
783 xfs_rw_ilock_demote(ip, XFS_IOLOCK_EXCL); in xfs_file_dio_aio_write()
787 trace_xfs_file_direct_write(ip, count, iocb->ki_pos, 0); in xfs_file_dio_aio_write()
805 xfs_rw_iunlock(ip, iolock); in xfs_file_dio_aio_write()
811 ASSERT(ret < 0 || ret == count || IS_DAX(VFS_I(ip))); in xfs_file_dio_aio_write()
823 struct xfs_inode *ip = XFS_I(inode); in xfs_file_buffered_aio_write() local
828 xfs_rw_ilock(ip, iolock); in xfs_file_buffered_aio_write()
838 trace_xfs_file_buffered_write(ip, iov_iter_count(from), in xfs_file_buffered_aio_write()
854 enospc = xfs_inode_free_quota_eofblocks(ip); in xfs_file_buffered_aio_write()
861 xfs_flush_inodes(ip->i_mount); in xfs_file_buffered_aio_write()
862 eofb.eof_scan_owner = ip->i_ino; /* for locking */ in xfs_file_buffered_aio_write()
864 xfs_icache_free_eofblocks(ip->i_mount, &eofb); in xfs_file_buffered_aio_write()
870 xfs_rw_iunlock(ip, iolock); in xfs_file_buffered_aio_write()
882 struct xfs_inode *ip = XFS_I(inode); in xfs_file_write_iter() local
886 XFS_STATS_INC(ip->i_mount, xs_write_calls); in xfs_file_write_iter()
891 if (XFS_FORCED_SHUTDOWN(ip->i_mount)) in xfs_file_write_iter()
902 XFS_STATS_ADD(ip->i_mount, xs_write_bytes, ret); in xfs_file_write_iter()
925 struct xfs_inode *ip = XFS_I(inode); in xfs_file_fallocate() local
937 xfs_ilock(ip, iolock); in xfs_file_fallocate()
942 xfs_ilock(ip, XFS_MMAPLOCK_EXCL); in xfs_file_fallocate()
946 error = xfs_free_file_space(ip, offset, len); in xfs_file_fallocate()
968 error = xfs_collapse_file_space(ip, offset, len); in xfs_file_fallocate()
1004 error = xfs_zero_file_space(ip, offset, len); in xfs_file_fallocate()
1006 error = xfs_alloc_file_space(ip, offset, len, in xfs_file_fallocate()
1015 error = xfs_update_prealloc_flags(ip, flags); in xfs_file_fallocate()
1025 error = xfs_setattr_size(ip, &iattr); in xfs_file_fallocate()
1037 error = xfs_insert_file_space(ip, offset, len); in xfs_file_fallocate()
1040 xfs_iunlock(ip, iolock); in xfs_file_fallocate()
1062 struct xfs_inode *ip = XFS_I(inode); in xfs_dir_open() local
1074 mode = xfs_ilock_data_map_shared(ip); in xfs_dir_open()
1075 if (ip->i_d.di_nextents > 0) in xfs_dir_open()
1076 xfs_dir3_data_readahead(ip, 0, -1); in xfs_dir_open()
1077 xfs_iunlock(ip, mode); in xfs_dir_open()
1095 xfs_inode_t *ip = XFS_I(inode); in xfs_file_readdir() local
1110 bufsize = (size_t)min_t(loff_t, 32768, ip->i_d.di_size); in xfs_file_readdir()
1112 return xfs_readdir(ip, ctx, bufsize); in xfs_file_readdir()
1191 struct xfs_inode *ip = XFS_I(inode); in xfs_find_get_desired_pgoff() local
1192 struct xfs_mount *mp = ip->i_mount; in xfs_find_get_desired_pgoff()
1340 struct xfs_inode *ip = XFS_I(inode); in xfs_seek_hole_data() local
1341 struct xfs_mount *mp = ip->i_mount; in xfs_seek_hole_data()
1352 lock = xfs_ilock_data_map_shared(ip); in xfs_seek_hole_data()
1372 error = xfs_bmapi_read(ip, fsbno, end - fsbno, map, &nmap, in xfs_seek_hole_data()
1464 xfs_iunlock(ip, lock); in xfs_seek_hole_data()
1579 struct xfs_inode *ip = XFS_I(inode); in xfs_filemap_pmd_fault() local
1585 trace_xfs_filemap_pmd_fault(ip); in xfs_filemap_pmd_fault()
1617 struct xfs_inode *ip = XFS_I(inode); in xfs_filemap_pfn_mkwrite() local
1621 trace_xfs_filemap_pfn_mkwrite(ip); in xfs_filemap_pfn_mkwrite()
1627 xfs_ilock(ip, XFS_MMAPLOCK_SHARED); in xfs_filemap_pfn_mkwrite()
1631 xfs_iunlock(ip, XFS_MMAPLOCK_SHARED); in xfs_filemap_pfn_mkwrite()