From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Maxim V. Patlasov" Subject: Re: [fuse-devel] [PATCH 0/6] fuse: process direct IO asynchronously Date: Fri, 14 Dec 2012 10:44:28 +0400 Message-ID: <50CACACC.70509@parallels.com> References: <50C9CF95.7090704@parallels.com> <20121213194357.GD9195@lenny.home.zabbo.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Brian Foster , "miklos@szeredi.hu" , Alexander Viro , "fuse-devel@lists.sourceforge.net" , "linux-fsdevel@vger.kernel.org" , , To: Zach Brown Return-path: Received: from relay.parallels.com ([195.214.232.42]:33582 "EHLO relay.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750824Ab2LNGoe convert rfc822-to-8bit (ORCPT ); Fri, 14 Dec 2012 01:44:34 -0500 In-Reply-To: <20121213194357.GD9195@lenny.home.zabbo.net> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: 12/13/2012 11:43 PM, Zach Brown =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > (I'm jumping in mid-thread, I don't *really* know the context.) > >> In the other words, if it's sync, it's enough to wake up someone in >> kernel (who called wait_on_sync_kiocb()) and return. Otherwise, >> aio_complete() performs some steps to wake up user (who called >> io_getevents()). What we need for fuse is another binary attribute: >> iocb was generated by libaio vs. read(2)/write(2). Then we could use >> aio_complete() and wait_on_sync_kiocb() for any iocb which was not >> generated by libaio. E.g. to process sync dio in async way, we'd >> allocate iocb in fuse_direct_IO on stack (as you suggested), but >> initialize it as async iocb and pass it to __fuse_direct_read/write, >> then call wait_on_sync_kiocb(), not to return -EIOCBQUEUED. > It sounds like you might be interested in the aio in-kernel interface > that is being worked on in a patch series that gets loop issuing aio > instead of doing sync io. > > http://thread.gmane.org/gmane.linux.file-systems/69326/focus=3D1398= 723 Thanks, Zach! I've already considered using this patch, but thank you=20 anyway. Maxim > > - z > > -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel= " in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html