Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Sep 2011 12:08:20 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Attilio Rao <attilio@freebsd.org>
Cc:        FreeBSD FS <freebsd-fs@freebsd.org>, freebsd-current@freebsd.org, Konstantin Belousov <kib@freebsd.org>, freebsd-arch@freebsd.org
Subject:   Call to arms: MPSAFE file systems (was: Re: Removal of Giant from the VFS layer for 10.0)
Message-ID:  <alpine.BSF.2.00.1109121156400.62958@fledge.watson.org>
In-Reply-To: <CAJ-FndCwwtbZBZJoZwEmrcrPfooXp15g-yX8-urqJUXnH%2BT1cw@mail.gmail.com>
References:  <CAJ-FndCwwtbZBZJoZwEmrcrPfooXp15g-yX8-urqJUXnH%2BT1cw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sat, 27 Aug 2011, Attilio Rao wrote:

> With the aid of kib and rwatson I made a roughly outlined plan about what is 
> left to do in order to have all the filesystems locked (or eventually 
> dropped) before 10.0) and is summarized here: 
> http://wiki.freebsd.org/NONMPSAFE_DEORBIT_VFS

Here's a more succinct summary of the key points from the wiki:

FreeBSD has supported Giant lock-free file systems for years, and almost all 
file systems have been shipping "MPSAFE" for several years.  However, VFS 
retains compatibility support for non-MPSAFE file systems.  We want to remove 
that compatibility support, as it adds non-trivial complexity to an already 
quite complex VFS, simplifying the code and making it easier to maintain and 
enhance.  This means either fixing or removing any file systems that can't 
operate without compatibility support.

Attilio has posted a schedule for the removal of compatibility crutches, which 
in turn means removing any un-updated file systems.  We are looking for 
volunteers to perform those updates.  Here's the schedule:

27 August 2011	Attilio posts plan on arch@
1 October 2011	Add VFS_GIANT_COMPATIBILITY option (enabled)
1 March 2012	Disable VFS_GIANT_COMPATIBILITY option by default
1 September 2012	Disconnect non-MPSAFE file systems from build
1 March 2013	Garbage collect any un-updated file systems

Most of our critical file systems are already done: UFS, ZFS, the NFS client 
and server (both old and new), unionfs, pseudofs, tmpfs, nullfs, devfs, 
cd9660, ext2fs, fdescfs, msdosfs, udf, and procfs.

However, some remain, and they require owners:

File system	Owner	State
coda		rwatson	Non-MPSAFE
hpfs		???	Non-MPSAFE
ntfs		attilio	Non-MPSAFE
nwfs		???	Non-MPSAFE
portalfs	???	Non-MPSAFE
smbfs		???	Non-MPSAFE
reiserfs	???	Non-MPSAFE
xfs		???	Non-MPSAFE

Any file system that remains on this list will be removed by 10.0 -- so, if 
you care about one of the above file systems, please help us get them updated. 
You can find more information here, including on the methodology for making a 
file system MPSAFE, with worked examples:

   http://wiki.freebsd.org/NONMPSAFE_DEORBIT_VFS

Robert



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1109121156400.62958>