From owner-freebsd-fs@FreeBSD.ORG Sun May 23 06:39:38 2004 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DC59016A4CE for ; Sun, 23 May 2004 06:39:38 -0700 (PDT) Received: from filer.fsl.cs.sunysb.edu (filer.fsl.cs.sunysb.edu [130.245.126.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C34343D1F for ; Sun, 23 May 2004 06:39:38 -0700 (PDT) (envelope-from ezk@fsl.cs.sunysb.edu) Received: from agora.fsl.cs.sunysb.edu (IDENT:vJ3vI/f0HmJsk8XPIAdABr3Ua+hoT2oL@agora.fsl.cs.sunysb.edu [130.245.126.12])i4NDdRiM003399; Sun, 23 May 2004 09:39:28 -0400 Received: from agora.fsl.cs.sunysb.edu (IDENT:HRetGS2KFPUFhf2uu9oQApPczFkEbNpz@localhost.localdomain [127.0.0.1]) i4NDdSEU003703; Sun, 23 May 2004 09:39:28 -0400 Received: (from ezk@localhost) by agora.fsl.cs.sunysb.edu (8.12.8/8.12.8/Submit) id i4NDdR1L003699; Sun, 23 May 2004 09:39:27 -0400 Date: Sun, 23 May 2004 09:39:27 -0400 Message-Id: <200405231339.i4NDdR1L003699@agora.fsl.cs.sunysb.edu> From: Erez Zadok To: Allan Fields In-reply-to: Your message of "Sat, 22 May 2004 23:28:07 EDT." <20040523032807.GC17124@afields.ca> X-MailKey: Erez_Zadok cc: freebsd-fs@freebsd.org cc: fistgen@filesystems.org Subject: Re: [FiST] FreeBSD Cache Coherency X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 May 2004 13:39:39 -0000 [I'll CC freebsd-fs on my answer. -ezk] In message <20040523032807.GC17124@afields.ca>, Allan Fields writes: > Hi, > > Recently, the point has been raised while discussing fistgen generated > file systems on FreeBSD: Can you update as to the current status > of the FreeBSD-5 templates and cache coherency issues in stacking > implementation? > > If there are outstanding issues in FreeBSD, what steps should be > taken to address them? Allan, last time we officially checked fist was under 5.1 and 4.9. At that time we essentially rewrote the 4.x templates and wrote new ones for 5.x. Both worked well, and passed a compile benchmark, fsx, and few assorted micro-benchmarks. We haven't tried 5.2/4.10 yet, but usually you guys are very good about keeping kernel code backward compatible, so I'm not expecting much trouble. Now, I'm not sure what you mean by cache coherency problems. There are two possible issues: 1. A while back the fbsd VFS had problems, which were gradually fixed in 4.x and 5.x. We were able to use those updates and ensured that any and all access through our stacked f/s works well: no data corruptions etc. 2. Any stackable f/s, AFAIK, still has a problem wrt cache coherency unless you use overlay mounts. This is true only for file systems that want to modify file data (e.g., cryptfs). Example: I can mount cryptfs over one directory, and access files through the mnt pt, but I could also go to the lower file system's files directly and muck with them. So essentially I'd be modifying two separate pages that really logically belong to one . There is no way to inform an upper f/s of a page that changed in the lower f/s. To resolve this completely, you need a unified cache manager (ala Heidemann's SOSP'95 paper). Now, if there's something new we could use in 5.x that can make it possible for us to write cleaner and safer stacked f/s on fbsd,, we'd love to hear about it. Cheers, Erez.