On Fri, Jan 07, 2011 at 03:58:30AM -0500, Christoph Hellwig wrote:
> > +This also clearly indicates that XFS
> > + * does not fall back to buffered IO in the direct IO write path.
> I don't think this comment belongs into the function header. It's
> already present in the right place anyway, so it can just be removed.
> > + xfs_buftarg_t *target = XFS_IS_REALTIME_INODE(ip) ?
> > + mp->m_rtdev_targp : mp->m_ddev_targp;
> struct xfs_buftarg, please.
Was copy-n-paste. Will fix.
> > + trace_xfs_file_direct_write(ip, count, iocb->ki_pos, 0);
> > + ret = generic_file_direct_write(iocb, iovp,
> > + &nr_segs, pos, &iocb->ki_pos, count, ocount);
> > +
> > + /* No fallback to buffered IO on errors for XFS. */
> > + return ret;
> I'd add an
> ASSERT(ret < 0 || ret == count);
> here to make sure we don't get problems due to changes in the core
> direct I/O code.
Yup, good idea.