From mboxrd@z Thu Jan 1 00:00:00 1970 From: Howard Chu Subject: Atomic I/Os, Transactions Date: Sat, 09 Nov 2013 17:36:24 -0800 Message-ID: <527EE318.8060907@symas.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: linux-fsdevel Return-path: Received: from zill.ext.symas.net ([69.43.206.106]:35134 "EHLO zill.ext.symas.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758582Ab3KJB4U (ORCPT ); Sat, 9 Nov 2013 20:56:20 -0500 Received: from cust233-73.nwewn.com ([78.155.233.73] helo=[192.168.1.100]) by zill.ext.symas.net with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.72) (envelope-from ) id 1VfJwv-0003Wq-Th for linux-fsdevel@vger.kernel.org; Sat, 09 Nov 2013 17:36:26 -0800 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Since atomic I/Os have come up recently, I thought I'd throw a wish-list item out there for consideration. It seems to me that the notion of write barriers was too heavy-handed. What I would like is a way to tag groups of writes. The only ordering constraint being, writes within a group tagged N cannot be started before all writes in group N-1 have completed. Aside from that, writes within a group may be freely mixed and reordered with non-tagged/non-grouped writes, and freely reordered within the group. That would allow a DB application to commit its transactions with a consistent ordering without requiring a full cache flush/sync/etc., thus reducing impact on overall I/O. -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/