From owner-freebsd-fs@FreeBSD.ORG Mon Aug 30 22:58:43 2010 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B230510656B2 for ; Mon, 30 Aug 2010 22:58:43 +0000 (UTC) (envelope-from cracauer@koef.zs64.net) Received: from koef.zs64.net (koef.zs64.net [IPv6:2001:470:1f0b:105e::1e6]) by mx1.freebsd.org (Postfix) with ESMTP id 7774C8FC2E for ; Mon, 30 Aug 2010 22:58:43 +0000 (UTC) Received: from koef.zs64.net (koef.zs64.net [IPv6:2001:470:1f0b:105e::1e6]) by koef.zs64.net (8.14.4/8.14.4) with ESMTP id o7UMwgXh019526 for ; Tue, 31 Aug 2010 00:58:42 +0200 (CEST) (envelope-from cracauer@koef.zs64.net) Received: (from cracauer@localhost) by koef.zs64.net (8.14.4/8.14.4/Submit) id o7UMwg4n019525 for freebsd-fs@freebsd.org; Mon, 30 Aug 2010 18:58:42 -0400 (EDT) (envelope-from cracauer) Date: Mon, 30 Aug 2010 18:58:42 -0400 From: Martin Cracauer To: freebsd-fs@freebsd.org Message-ID: <20100830225841.GA9363@cons.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Subject: fsync(2) and on-disk write-back cache X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Aug 2010 22:58:43 -0000 I always assumed the answer to this question is "of course": When doing an fsync (waiting for the commit), do we actually tell the disk to flush the on-disk write-back cache (if that is in use) to the platters? I just went down some code paths in both FreeBSD and Linux and in both cases the paths for fsync quickly disappear in the generic block-by-block flushing code that is also used for regular (non-fsync) flushing. I didn't see anything aware of the on-disk cache. Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer http://www.cons.org/cracauer/