Lines Matching refs:iolock

326  * @iolock, and returns with it held.  Might upgrade the iolock to exclusive
333 int *iolock)
348 error = xfs_break_layouts(inode, iolock, BREAK_WRITE);
356 if (*iolock == XFS_IOLOCK_SHARED && !IS_NOSEC(inode)) {
357 xfs_iunlock(ip, *iolock);
358 *iolock = XFS_IOLOCK_EXCL;
359 xfs_ilock(ip, *iolock);
366 * iolock shared, we need to update it to exclusive which implies
382 if (*iolock == XFS_IOLOCK_SHARED) {
383 xfs_iunlock(ip, *iolock);
384 *iolock = XFS_IOLOCK_EXCL;
385 xfs_ilock(ip, *iolock);
521 * Returns with locks held indicated by @iolock and errors indicated by
536 int iolock;
545 * Don't take the exclusive iolock here unless the I/O is unaligned to
563 iolock = XFS_IOLOCK_EXCL;
565 iolock = XFS_IOLOCK_SHARED;
572 if (!xfs_ilock_nowait(ip, iolock))
575 xfs_ilock(ip, iolock);
578 ret = xfs_file_aio_write_checks(iocb, from, &iolock);
587 * iolock if we had to take the exclusive lock in
592 } else if (iolock == XFS_IOLOCK_EXCL) {
594 iolock = XFS_IOLOCK_SHARED;
600 * release the iolock to prevent subsequent overlapping IO.
606 xfs_iunlock(ip, iolock);
623 int iolock = XFS_IOLOCK_EXCL;
629 if (!xfs_ilock_nowait(ip, iolock))
632 xfs_ilock(ip, iolock);
635 ret = xfs_file_aio_write_checks(iocb, from, &iolock);
649 xfs_iunlock(ip, iolock);
673 int iolock;
679 iolock = XFS_IOLOCK_EXCL;
680 xfs_ilock(ip, iolock);
682 ret = xfs_file_aio_write_checks(iocb, from, &iolock);
705 xfs_iunlock(ip, iolock);
712 iolock = 0;
719 xfs_iunlock(ip, iolock);
728 if (iolock)
729 xfs_iunlock(ip, iolock);
810 uint *iolock,
827 error = xfs_break_leased_layouts(inode, iolock, &retry);
853 uint iolock = XFS_IOLOCK_EXCL | XFS_MMAPLOCK_EXCL;
862 xfs_ilock(ip, iolock);
863 error = xfs_break_layouts(inode, &iolock, BREAK_UNMAP);
1029 xfs_iunlock(ip, iolock);