Lines Matching refs:ip
53 struct xfs_inode *ip, in xfs_rw_ilock() argument
57 mutex_lock(&VFS_I(ip)->i_mutex); in xfs_rw_ilock()
58 xfs_ilock(ip, type); in xfs_rw_ilock()
63 struct xfs_inode *ip, in xfs_rw_iunlock() argument
66 xfs_iunlock(ip, type); in xfs_rw_iunlock()
68 mutex_unlock(&VFS_I(ip)->i_mutex); in xfs_rw_iunlock()
73 struct xfs_inode *ip, in xfs_rw_ilock_demote() argument
76 xfs_ilock_demote(ip, type); in xfs_rw_ilock_demote()
78 mutex_unlock(&VFS_I(ip)->i_mutex); in xfs_rw_ilock_demote()
93 struct xfs_inode *ip, /* inode */ in xfs_iozero() argument
101 mapping = VFS_I(ip)->i_mapping; in xfs_iozero()
132 struct xfs_inode *ip, in xfs_update_prealloc_flags() argument
138 tp = xfs_trans_alloc(ip->i_mount, XFS_TRANS_WRITEID); in xfs_update_prealloc_flags()
139 error = xfs_trans_reserve(tp, &M_RES(ip->i_mount)->tr_writeid, 0, 0); in xfs_update_prealloc_flags()
145 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_update_prealloc_flags()
146 xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); in xfs_update_prealloc_flags()
149 ip->i_d.di_mode &= ~S_ISUID; in xfs_update_prealloc_flags()
150 if (ip->i_d.di_mode & S_IXGRP) in xfs_update_prealloc_flags()
151 ip->i_d.di_mode &= ~S_ISGID; in xfs_update_prealloc_flags()
152 xfs_trans_ichgtime(tp, ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); in xfs_update_prealloc_flags()
156 ip->i_d.di_flags |= XFS_DIFLAG_PREALLOC; in xfs_update_prealloc_flags()
158 ip->i_d.di_flags &= ~XFS_DIFLAG_PREALLOC; in xfs_update_prealloc_flags()
160 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); in xfs_update_prealloc_flags()
179 struct xfs_inode *ip = XFS_I(file->f_mapping->host); in xfs_dir_fsync() local
180 struct xfs_mount *mp = ip->i_mount; in xfs_dir_fsync()
183 trace_xfs_dir_fsync(ip); in xfs_dir_fsync()
185 xfs_ilock(ip, XFS_ILOCK_SHARED); in xfs_dir_fsync()
186 if (xfs_ipincount(ip)) in xfs_dir_fsync()
187 lsn = ip->i_itemp->ili_last_lsn; in xfs_dir_fsync()
188 xfs_iunlock(ip, XFS_ILOCK_SHARED); in xfs_dir_fsync()
203 struct xfs_inode *ip = XFS_I(inode); in xfs_file_fsync() local
204 struct xfs_mount *mp = ip->i_mount; in xfs_file_fsync()
209 trace_xfs_file_fsync(ip); in xfs_file_fsync()
218 xfs_iflags_clear(ip, XFS_ITRUNCATED); in xfs_file_fsync()
228 if (XFS_IS_REALTIME_INODE(ip)) in xfs_file_fsync()
238 xfs_ilock(ip, XFS_ILOCK_SHARED); in xfs_file_fsync()
239 if (xfs_ipincount(ip)) { in xfs_file_fsync()
241 (ip->i_itemp->ili_fields & ~XFS_ILOG_TIMESTAMP)) in xfs_file_fsync()
242 lsn = ip->i_itemp->ili_last_lsn; in xfs_file_fsync()
244 xfs_iunlock(ip, XFS_ILOCK_SHARED); in xfs_file_fsync()
258 !XFS_IS_REALTIME_INODE(ip) && in xfs_file_fsync()
272 struct xfs_inode *ip = XFS_I(inode); in xfs_file_read_iter() local
273 struct xfs_mount *mp = ip->i_mount; in xfs_file_read_iter()
289 XFS_IS_REALTIME_INODE(ip) ? in xfs_file_read_iter()
319 xfs_rw_ilock(ip, XFS_IOLOCK_SHARED); in xfs_file_read_iter()
321 xfs_rw_iunlock(ip, XFS_IOLOCK_SHARED); in xfs_file_read_iter()
322 xfs_rw_ilock(ip, XFS_IOLOCK_EXCL); in xfs_file_read_iter()
326 VFS_I(ip)->i_mapping, in xfs_file_read_iter()
329 xfs_rw_iunlock(ip, XFS_IOLOCK_EXCL); in xfs_file_read_iter()
338 ret = invalidate_inode_pages2_range(VFS_I(ip)->i_mapping, in xfs_file_read_iter()
344 xfs_rw_ilock_demote(ip, XFS_IOLOCK_EXCL); in xfs_file_read_iter()
347 trace_xfs_file_read(ip, size, pos, ioflags); in xfs_file_read_iter()
353 xfs_rw_iunlock(ip, XFS_IOLOCK_SHARED); in xfs_file_read_iter()
365 struct xfs_inode *ip = XFS_I(infilp->f_mapping->host); in xfs_file_splice_read() local
374 if (XFS_FORCED_SHUTDOWN(ip->i_mount)) in xfs_file_splice_read()
377 xfs_rw_ilock(ip, XFS_IOLOCK_SHARED); in xfs_file_splice_read()
379 trace_xfs_file_splice_read(ip, count, *ppos, ioflags); in xfs_file_splice_read()
385 xfs_rw_iunlock(ip, XFS_IOLOCK_SHARED); in xfs_file_splice_read()
397 struct xfs_inode *ip, in xfs_zero_last_block() argument
402 struct xfs_mount *mp = ip->i_mount; in xfs_zero_last_block()
410 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_zero_last_block()
411 error = xfs_bmapi_read(ip, last_fsb, 1, &imap, &nimaps, 0); in xfs_zero_last_block()
412 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_zero_last_block()
429 return xfs_iozero(ip, isize, zero_len); in xfs_zero_last_block()
445 struct xfs_inode *ip, in xfs_zero_eof() argument
450 struct xfs_mount *mp = ip->i_mount; in xfs_zero_eof()
461 ASSERT(xfs_isilocked(ip, XFS_IOLOCK_EXCL)); in xfs_zero_eof()
470 error = xfs_zero_last_block(ip, offset, isize, did_zeroing); in xfs_zero_eof()
501 xfs_ilock(ip, XFS_ILOCK_EXCL); in xfs_zero_eof()
502 error = xfs_bmapi_read(ip, start_zero_fsb, zero_count_fsb, in xfs_zero_eof()
504 xfs_iunlock(ip, XFS_ILOCK_EXCL); in xfs_zero_eof()
526 error = xfs_iozero(ip, zero_off, zero_len); in xfs_zero_eof()
553 struct xfs_inode *ip = XFS_I(inode); in xfs_file_aio_write_checks() local
581 spin_lock(&ip->i_flags_lock); in xfs_file_aio_write_checks()
585 spin_unlock(&ip->i_flags_lock); in xfs_file_aio_write_checks()
587 xfs_rw_iunlock(ip, *iolock); in xfs_file_aio_write_checks()
589 xfs_rw_ilock(ip, *iolock); in xfs_file_aio_write_checks()
603 error = xfs_zero_eof(ip, iocb->ki_pos, i_size_read(inode), &zero); in xfs_file_aio_write_checks()
607 spin_unlock(&ip->i_flags_lock); in xfs_file_aio_write_checks()
662 struct xfs_inode *ip = XFS_I(inode); in xfs_file_dio_aio_write() local
663 struct xfs_mount *mp = ip->i_mount; in xfs_file_dio_aio_write()
671 struct xfs_buftarg *target = XFS_IS_REALTIME_INODE(ip) ? in xfs_file_dio_aio_write()
693 xfs_rw_ilock(ip, iolock); in xfs_file_dio_aio_write()
701 xfs_rw_iunlock(ip, iolock); in xfs_file_dio_aio_write()
703 xfs_rw_ilock(ip, iolock); in xfs_file_dio_aio_write()
714 ret = filemap_write_and_wait_range(VFS_I(ip)->i_mapping, in xfs_file_dio_aio_write()
723 ret = invalidate_inode_pages2_range(VFS_I(ip)->i_mapping, in xfs_file_dio_aio_write()
737 xfs_rw_ilock_demote(ip, XFS_IOLOCK_EXCL); in xfs_file_dio_aio_write()
741 trace_xfs_file_direct_write(ip, count, iocb->ki_pos, 0); in xfs_file_dio_aio_write()
759 xfs_rw_iunlock(ip, iolock); in xfs_file_dio_aio_write()
774 struct xfs_inode *ip = XFS_I(inode); in xfs_file_buffered_aio_write() local
779 xfs_rw_ilock(ip, iolock); in xfs_file_buffered_aio_write()
789 trace_xfs_file_buffered_write(ip, iov_iter_count(from), in xfs_file_buffered_aio_write()
805 enospc = xfs_inode_free_quota_eofblocks(ip); in xfs_file_buffered_aio_write()
812 xfs_flush_inodes(ip->i_mount); in xfs_file_buffered_aio_write()
813 eofb.eof_scan_owner = ip->i_ino; /* for locking */ in xfs_file_buffered_aio_write()
815 xfs_icache_free_eofblocks(ip->i_mount, &eofb); in xfs_file_buffered_aio_write()
821 xfs_rw_iunlock(ip, iolock); in xfs_file_buffered_aio_write()
833 struct xfs_inode *ip = XFS_I(inode); in xfs_file_write_iter() local
842 if (XFS_FORCED_SHUTDOWN(ip->i_mount)) in xfs_file_write_iter()
876 struct xfs_inode *ip = XFS_I(inode); in xfs_file_fallocate() local
888 xfs_ilock(ip, iolock); in xfs_file_fallocate()
893 xfs_ilock(ip, XFS_MMAPLOCK_EXCL); in xfs_file_fallocate()
897 error = xfs_free_file_space(ip, offset, len); in xfs_file_fallocate()
919 error = xfs_collapse_file_space(ip, offset, len); in xfs_file_fallocate()
955 error = xfs_zero_file_space(ip, offset, len); in xfs_file_fallocate()
957 error = xfs_alloc_file_space(ip, offset, len, in xfs_file_fallocate()
966 error = xfs_update_prealloc_flags(ip, flags); in xfs_file_fallocate()
976 error = xfs_setattr_size(ip, &iattr); in xfs_file_fallocate()
988 error = xfs_insert_file_space(ip, offset, len); in xfs_file_fallocate()
991 xfs_iunlock(ip, iolock); in xfs_file_fallocate()
1013 struct xfs_inode *ip = XFS_I(inode); in xfs_dir_open() local
1025 mode = xfs_ilock_data_map_shared(ip); in xfs_dir_open()
1026 if (ip->i_d.di_nextents > 0) in xfs_dir_open()
1027 xfs_dir3_data_readahead(ip, 0, -1); in xfs_dir_open()
1028 xfs_iunlock(ip, mode); in xfs_dir_open()
1046 xfs_inode_t *ip = XFS_I(inode); in xfs_file_readdir() local
1061 bufsize = (size_t)min_t(loff_t, 32768, ip->i_d.di_size); in xfs_file_readdir()
1063 return xfs_readdir(ip, ctx, bufsize); in xfs_file_readdir()
1153 struct xfs_inode *ip = XFS_I(inode); in xfs_find_get_desired_pgoff() local
1154 struct xfs_mount *mp = ip->i_mount; in xfs_find_get_desired_pgoff()
1302 struct xfs_inode *ip = XFS_I(inode); in xfs_seek_hole_data() local
1303 struct xfs_mount *mp = ip->i_mount; in xfs_seek_hole_data()
1314 lock = xfs_ilock_data_map_shared(ip); in xfs_seek_hole_data()
1334 error = xfs_bmapi_read(ip, fsbno, end - fsbno, map, &nmap, in xfs_seek_hole_data()
1426 xfs_iunlock(ip, lock); in xfs_seek_hole_data()
1466 struct xfs_inode *ip = XFS_I(vma->vm_file->f_mapping->host); in xfs_filemap_fault() local
1469 trace_xfs_filemap_fault(ip); in xfs_filemap_fault()
1471 xfs_ilock(ip, XFS_MMAPLOCK_SHARED); in xfs_filemap_fault()
1473 xfs_iunlock(ip, XFS_MMAPLOCK_SHARED); in xfs_filemap_fault()
1489 struct xfs_inode *ip = XFS_I(vma->vm_file->f_mapping->host); in xfs_filemap_page_mkwrite() local
1492 trace_xfs_filemap_page_mkwrite(ip); in xfs_filemap_page_mkwrite()
1494 xfs_ilock(ip, XFS_MMAPLOCK_SHARED); in xfs_filemap_page_mkwrite()
1496 xfs_iunlock(ip, XFS_MMAPLOCK_SHARED); in xfs_filemap_page_mkwrite()