Lines Matching refs:mp
41 #define XFS_WRITEIO_ALIGN(mp,off) (((off) >> mp->m_writeio_log) \ argument
42 << mp->m_writeio_log)
47 xfs_mount_t *mp, in xfs_iomap_eof_align_last_fsb() argument
64 if (mp->m_swidth && (mp->m_flags & XFS_MOUNT_SWALLOC)) in xfs_iomap_eof_align_last_fsb()
65 align = mp->m_swidth; in xfs_iomap_eof_align_last_fsb()
66 else if (mp->m_dalign) in xfs_iomap_eof_align_last_fsb()
67 align = mp->m_dalign; in xfs_iomap_eof_align_last_fsb()
69 if (align && XFS_ISIZE(ip) < XFS_FSB_TO_B(mp, align)) in xfs_iomap_eof_align_last_fsb()
120 xfs_mount_t *mp = ip->i_mount; in xfs_iomap_write_direct() local
142 offset_fsb = XFS_B_TO_FSBT(mp, offset); in xfs_iomap_write_direct()
143 last_fsb = XFS_B_TO_FSB(mp, ((xfs_ufsize_t)(offset + count))); in xfs_iomap_write_direct()
145 error = xfs_iomap_eof_align_last_fsb(mp, ip, extsz, &last_fsb); in xfs_iomap_write_direct()
167 resrtextents /= mp->m_sb.sb_rextsize; in xfs_iomap_write_direct()
168 resblks = XFS_DIOSTRAT_SPACE_RES(mp, 0); in xfs_iomap_write_direct()
172 resblks = qblocks = XFS_DIOSTRAT_SPACE_RES(mp, resaligned); in xfs_iomap_write_direct()
179 tp = xfs_trans_alloc(mp, XFS_TRANS_DIOSTRAT); in xfs_iomap_write_direct()
180 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_write, in xfs_iomap_write_direct()
253 xfs_mount_t *mp, in xfs_iomap_eof_want_preallocate() argument
275 if (!(mp->m_flags & XFS_MOUNT_DFLT_IOSIZE) && in xfs_iomap_eof_want_preallocate()
276 XFS_ISIZE(ip) < XFS_FSB_TO_B(mp, mp->m_writeio_blocks)) in xfs_iomap_eof_want_preallocate()
283 start_fsb = XFS_B_TO_FSBT(mp, ((xfs_ufsize_t)(offset + count - 1))); in xfs_iomap_eof_want_preallocate()
284 count_fsb = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes); in xfs_iomap_eof_want_preallocate()
324 struct xfs_mount *mp, in xfs_iomap_eof_prealloc_initial_size() argument
337 if (mp->m_flags & XFS_MOUNT_DFLT_IOSIZE) in xfs_iomap_eof_prealloc_initial_size()
341 if (XFS_ISIZE(ip) < XFS_FSB_TO_B(mp, mp->m_dalign)) in xfs_iomap_eof_prealloc_initial_size()
352 start_fsb = XFS_B_TO_FSB(mp, offset); in xfs_iomap_eof_prealloc_initial_size()
364 return XFS_B_TO_FSB(mp, offset); in xfs_iomap_eof_prealloc_initial_size()
435 struct xfs_mount *mp, in xfs_iomap_prealloc_size() argument
447 alloc_blocks = xfs_iomap_eof_prealloc_initial_size(mp, ip, offset, in xfs_iomap_prealloc_size()
463 freesp = percpu_counter_read_positive(&mp->m_fdblocks); in xfs_iomap_prealloc_size()
464 if (freesp < mp->m_low_space[XFS_LOWSP_5_PCNT]) { in xfs_iomap_prealloc_size()
466 if (freesp < mp->m_low_space[XFS_LOWSP_4_PCNT]) in xfs_iomap_prealloc_size()
468 if (freesp < mp->m_low_space[XFS_LOWSP_3_PCNT]) in xfs_iomap_prealloc_size()
470 if (freesp < mp->m_low_space[XFS_LOWSP_2_PCNT]) in xfs_iomap_prealloc_size()
472 if (freesp < mp->m_low_space[XFS_LOWSP_1_PCNT]) in xfs_iomap_prealloc_size()
521 if (alloc_blocks < mp->m_writeio_blocks) in xfs_iomap_prealloc_size()
522 alloc_blocks = mp->m_writeio_blocks; in xfs_iomap_prealloc_size()
525 mp->m_writeio_blocks); in xfs_iomap_prealloc_size()
537 xfs_mount_t *mp = ip->i_mount; in xfs_iomap_write_delay() local
559 offset_fsb = XFS_B_TO_FSBT(mp, offset); in xfs_iomap_write_delay()
561 error = xfs_iomap_eof_want_preallocate(mp, ip, offset, count, in xfs_iomap_write_delay()
570 alloc_blocks = xfs_iomap_prealloc_size(mp, ip, offset, imap, in xfs_iomap_write_delay()
573 aligned_offset = XFS_WRITEIO_ALIGN(mp, (offset + count - 1)); in xfs_iomap_write_delay()
574 ioalign = XFS_B_TO_FSBT(mp, aligned_offset); in xfs_iomap_write_delay()
577 last_fsb = XFS_B_TO_FSB(mp, ((xfs_ufsize_t)(offset + count))); in xfs_iomap_write_delay()
581 error = xfs_iomap_eof_align_last_fsb(mp, ip, extsz, &last_fsb); in xfs_iomap_write_delay()
590 if (last_fsb > XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes)) in xfs_iomap_write_delay()
591 last_fsb = XFS_B_TO_FSB(mp, mp->m_super->s_maxbytes); in xfs_iomap_write_delay()
651 xfs_mount_t *mp = ip->i_mount; in xfs_iomap_write_allocate() local
669 offset_fsb = XFS_B_TO_FSBT(mp, offset); in xfs_iomap_write_allocate()
673 XFS_STATS_ADD(xs_xstrat_bytes, XFS_FSB_TO_B(mp, count_fsb)); in xfs_iomap_write_allocate()
687 tp = xfs_trans_alloc(mp, XFS_TRANS_STRAT_WRITE); in xfs_iomap_write_allocate()
689 nres = XFS_EXTENTADD_SPACE_RES(mp, XFS_DATA_FORK); in xfs_iomap_write_allocate()
690 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_write, in xfs_iomap_write_allocate()
733 end_fsb = XFS_B_TO_FSB(mp, XFS_ISIZE(ip)); in xfs_iomap_write_allocate()
806 xfs_mount_t *mp = ip->i_mount; in xfs_iomap_write_unwritten() local
822 offset_fsb = XFS_B_TO_FSBT(mp, offset); in xfs_iomap_write_unwritten()
823 count_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + count); in xfs_iomap_write_unwritten()
836 resblks = XFS_DIOSTRAT_SPACE_RES(mp, 0) << 1; in xfs_iomap_write_unwritten()
850 sb_start_intwrite(mp->m_super); in xfs_iomap_write_unwritten()
851 tp = _xfs_trans_alloc(mp, XFS_TRANS_STRAT_WRITE, KM_NOFS); in xfs_iomap_write_unwritten()
853 error = xfs_trans_reserve(tp, &M_RES(mp)->tr_write, in xfs_iomap_write_unwritten()
879 i_size = XFS_FSB_TO_B(mp, offset_fsb + count_fsb); in xfs_iomap_write_unwritten()