[OpenAFS-devel] What are the supported underlying filesystems
for the partitions on /afs?
Jeffrey Hutzelman
jhutz@cmu.edu
Tue, 14 Mar 2006 14:47:38 -0500
On Saturday, March 11, 2006 09:19:20 PM -0800 Russ Allbery
<rra@stanford.edu> wrote:
> Pedro Perez <pperez@opensourcetechnologies.net> writes:
>
>> So, my question is, which of the following filesystems can be used with
>> OpenAFS?
>
>> ext2 yes
>> ext3 ?
>> XFS yes
>> JFS ?
>> reiserfs ?
>> reiser4 ?
>> all of the above ?
>
> On Linux, you can put the client cache on ext2 or ext3. Nothing else.
> You definitely cannot use XFS.
On Linux, the cache will work on any filesystem which correctly supports
the inode abstraction; in particular, on which we can remember the inode
number of a file and then use it later to open that file. In general, that
means "real" (not virtual) filesystems where the on-disk data structures
have this concept. So, ext2 and ext3 will work, but XFS and reiser will
not, and neither will things like msdos or tmpfs (but ext2 in a ramdisk
works fine).
> On IRIX, you can use XFS for the client cache. IRIX is a different
> issue.
Correct. In general, on any given UNIX platform, there is exactly one
filesystem whose internal kernel API is known to AFS and which can be used
as a cache; generally it's the primary general-purpose filesystem for that
platform. On IRIX, that happens to be XFS (actually, EFS works as well, on
versions of IRIX where it is still supported; this platform is unusual in
that it supports _two_ cache filesystems instead of only one).
> For the *server*, you can run the namei file server on pretty much any
> file system. The inode file server may be more sensitive; I'm not sure.
Correct. The namei fileserver will run on any filesystem with reasonable
semantics; particularly, it has to store real values for the owner, group,
and mode of files, the fileserver has to be able to change those at will,
and filenames must be case-sensitive (not just case-preserving). The last
requirement is not present on MacOS X, where we use a slightly different
way of encoding information in filenames so that HFS+ can be used for vice
partitions.
The inode fileserver is extremely sensitive to the filesystem in use; it
requires kernel-level support, complete understanding of the on-disk
filesystem structure and the in-memory representation of inodes, and
several "spare" inode fields we can use to store AFS-specific data.
Generally, on platforms where the inode server is supported, it works only
with a single, specific filesystem.
-- Jeff