On Thu, Jun 12, 2014 at 07:13:29AM -0700, Christoph Hellwig wrote: > There doesn't really seem anything XFS specific here, so instead > of wiring up ->aio_fsync I'd implement IOCB_CMD_FSYNC in fs/aio.c > based on the workqueue and ->fsync. I really don't know whether the other ->fsync methods in other filesystems can stand alone like that. I also don't have the time to test that it works properly on all filesystems right now. Also, doing this implementation in fs/aio.c would mean we can't optimise it to reduce things like log forces by splitting up the work of concurrent fsyncs into a single log force of the highest LSN of the batch of fsyncs being run. We also want to be able to do "background fsync" where latency doesn't matter and we only want to trickle them out rather than issue them as fast as we possibly can. So I really don't see this as the infrastructure solution that everyone uses. It could be made a generic method with the filesystem passing the workqueue to use to generic_aio_fsync(), but for XFS I see it turning into something much more complex and optimised... Like I said, this is just a brute force proof of concept. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs