On Wed, Dec 07, 2016 at 02:00:09PM -0500, Brian Foster wrote: > > - if (ap->flags & XFS_BMAPI_COWFORK) > > - align = xfs_get_cowextsz_hint(ap->ip); > > - else if (xfs_alloc_is_userdata(ap->datatype)) > > + if (xfs_alloc_is_userdata(ap->datatype)) > > Doesn't this defeat the purpose (i.e., fragmentation avoidance via wider > allocations) of the cowextszhint for direct I/O? I think it would be > better to be consistent with the approach for traditional I/O + extsz > and incorporate the alignment into the reservation. Perhaps the hunk of > code that already does just that in xfs_iomap_write_direct() could be > converted to a small helper and reused..? We're already doing the alignment to the cowextsize hint in __xfs_reflink_allocate_cow so that we can take the cowextsize into account. > > + resblks = XFS_DIOSTRAT_SPACE_RES(mp, end_fsb - *offset_fsb); > > + > > + error = xfs_qm_dqattach(ip, 0); > > This is already in the (only) caller. Yes, it can be dropped, although a superflous xfs_qm_dqattach is totally harmless anyway. -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html