Lines Matching refs:iolock

378  * @iolock, and returns with it held.  Might upgrade the iolock to exclusive
385 unsigned int *iolock)
405 error = xfs_break_layouts(inode, iolock, BREAK_WRITE);
415 if (*iolock == XFS_IOLOCK_SHARED && !IS_NOSEC(inode)) {
416 xfs_iunlock(ip, *iolock);
417 *iolock = XFS_IOLOCK_EXCL;
418 error = xfs_ilock_iocb(iocb, *iolock);
420 *iolock = 0;
429 * write. If zeroing is needed and we are currently holding the iolock
458 if (*iolock == XFS_IOLOCK_SHARED) {
459 xfs_iunlock(ip, *iolock);
460 *iolock = XFS_IOLOCK_EXCL;
461 xfs_ilock(ip, *iolock);
588 unsigned int iolock = XFS_IOLOCK_SHARED;
591 ret = xfs_ilock_iocb_for_write(iocb, &iolock);
594 ret = xfs_file_write_checks(iocb, from, &iolock);
600 * the iolock back to shared if we had to take the exclusive lock in
603 if (iolock == XFS_IOLOCK_EXCL) {
605 iolock = XFS_IOLOCK_SHARED;
611 if (iolock)
612 xfs_iunlock(ip, iolock);
641 unsigned int iolock = XFS_IOLOCK_SHARED;
654 iolock = XFS_IOLOCK_EXCL;
658 ret = xfs_ilock_iocb_for_write(iocb, &iolock);
672 ret = xfs_file_write_checks(iocb, from, &iolock);
696 xfs_iunlock(ip, iolock);
701 if (iolock)
702 xfs_iunlock(ip, iolock);
730 unsigned int iolock = XFS_IOLOCK_EXCL;
734 ret = xfs_ilock_iocb(iocb, iolock);
737 ret = xfs_file_write_checks(iocb, from, &iolock);
750 if (iolock)
751 xfs_iunlock(ip, iolock);
773 unsigned int iolock;
776 iolock = XFS_IOLOCK_EXCL;
777 ret = xfs_ilock_iocb(iocb, iolock);
781 ret = xfs_file_write_checks(iocb, from, &iolock);
800 xfs_iunlock(ip, iolock);
810 xfs_iunlock(ip, iolock);
817 if (iolock)
818 xfs_iunlock(ip, iolock);
897 uint *iolock,
914 error = xfs_break_leased_layouts(inode, iolock, &retry);
955 uint iolock = XFS_IOLOCK_EXCL | XFS_MMAPLOCK_EXCL;
964 xfs_ilock(ip, iolock);
965 error = xfs_break_layouts(inode, &iolock, BREAK_UNMAP);
1131 xfs_iunlock(ip, iolock);