On Fri, Jan 29, 2016 at 09:12:33AM -0500, Brian Foster wrote: > My understanding is that the original requirement for ioends here was to > track the state necessary in order to defer (to wq) completions that had > to allocate transactions. Eventually, the deferred buffer state was > implemented and we no longer required an ioend for that, so we removed > the ioends here: > > 2ba6623 xfs: don't allocate an ioend for direct I/O completions > > Then just a couple months later, we merged the following to re-add the > ioend into the dio path: > > d5cc2e3f xfs: DIO needs an ioend for writes And I complained about that one! I didn't have time to provide a full analysis and the patches around this one were criticial enough. But this patch has the analysis on why ioends are not needed and bad which should have been the full review back then. Note that this new version is better than the old ioend removal as it does not just use the private data as a boolean, but as a bitmask so that additional information such as the COW status can be communicated. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs