File: [Development] / xfs-website / Attic / pr_caveats.html (download) (as text)
Revision 1.3, Mon Feb 5 23:50:17 2001 UTC (16 years, 8 months ago) by xfs
Branch: MAIN
Changes since 1.2: +1 -0
lines
Modified Files:
pr_caveats.html
Added Ivan R's comment about xfsdump not supporting quota information
|
<& xfsTemplate,top=>1,side=>1 &>
<!-- Start Project Content -->
<h2>
<b><font face="ARIAL NARROW,HELVETICA">XFS for Linux Pre-Release 0.9 Caveats</font></b></h2>
<p>
You must take the following issues into account
when you create and administer
XFS filesystems with XFS for Linux pre-release 0.9.
</p>
<h3>Size and Memory Limitations</h3>
<li>
2 Terabyte filesystem limitation
<p>
Currently XFS is limited to filesystems smaller that 2 terabytes.
This is due to limitations in the Linux block device I/O layers.
</p>
<p>
The XFS team is working with Linux developers to improve the Linux
I/O layers. The improvements will include the support necessary to
exceed 2 Tbyte filesystems.
</p>
<h3>Required Compiler and Library Releases</h3>
<li>
gcc version 2.91.66 required
</li>
<p>
Due to known problems with later versions of gcc,
gcc version 2.91.66 (aka egcs-1.1.2) must be used when compiling XFS
and the associated kernel.
This is the default compiler on RedHat 6.2 systems.
Other distributions may be using a later version.
The easiest way to check what version is in
use is by running <tt>gcc -v</tt>.
</p>
<li>
glibc version 2.1.3 or later required
</li>
<p>
The version of glibc primarily used for development and testing
has been 2.1.3.
Earlier versions should be considered "status unknown".
</p>
<h3>Issues with Red Hat 7.0</h3>
<li>
Compiler versions
</li>
<p>
Red Hat 7.0 ships with 2 compilers, "gcc" and "kgcc." kgcc is essentially an
older gcc (egcs-2.91.66) which should be used to compile the kernel.
To use this compiler, comment out the following line in the top level kernel
makefile:
<pre><tt>CC = $(CROSS_COMPILE)gcc -V egcs-2.91.66</tt></pre>
And uncomment the following line:
<pre><tt>CC = $(CROSS_COMPILE)kgcc</tt></pre>
</p>
<h3>Upgrading from XFS Beta</h3>
When upgrading a system from XFS Beta to the XFS Pre-release 0.9,
you must run <tt>xfs_repair</tt> on all filesystems. This is
due to a format change in the log. <tt>xfs_repair</tt> will
zero out the log and make sure the filesystem is clean
before mounting with the new log format.
<h3>XFS Features</h3>
<li>
New system calls
</li>
<p>
A preliminary set of system calls to support extended attributes
has been added. This interface will most likely change as
a consensus on appropriate interfaces is formed in the Linux
community.
</p>
<p>
The extended attribute system call is attrctl(2). Library calls implement the
various extented attribute operations: attr_get(3), attr_getf(3), attr_list(3),
attr_listf(3), attr_multi(3), attr_multif(3), attr_remove(3), attr_removef(3),
attr_set(3), attr_setf(3). Extended attributes can be manipulated using
the command attr(1). See the associated man pages for details.
</p>
<p>
The access control list system calls are acl_get(2) and acl_set(2).
Library calls implement many of the main Posix 1003.1e proposed functions,
such as: acl_copy_ext(3), acl_delete_def_file(3), acl_dup(3), acl_free(3),
acl_from_text(3), acl_get_fd(3), acl_get_file(3), acl_set_fd(3),
acl_set_file(3), acl_size(3), acl_valid(3).
Access control lists can be manipulated using the command chacl(1).
See the associated man pages for details.
</p>
<li>
Migrating from non-XFS to XFS
</li>
<p>
The Linux version of dump and restore can be used to migrate
data from a non-XFS volume to an XFS volume.
Linux dump, however, cannot be used to dump an XFS volume as it uses
ext2 library functions.
</p>
<li>
Migrating from IRIX XFS to Linux XFS
</li>
<p>
xfsdump and xfsrestore can be used to migrate an IRIX XFS volume
to a Linux XFS volume and vice versa.
</p>
<li>
Backup and Restore
</li>
<p>
xfsdump and xfsrestore should be used for backup and restore
of XFS volumes. xfsdump and xfsrestore currently support
file extents but not extended attributes.
DMAPI is supported in XFS Linux, but a DMAPI-managed
filesystem cannot be moved between IRIX and Linux, by any
means including dump/restore.
xfsdump does not currently support dumping of quota information.
</p>
<h3>XFS Caveats and Limitations</h3>
<li>
XFS version 2 directory format recommended
</li>
<p>
XFS supports two directory formats, referred to as
version 1 and version 2. For Linux XFS,
the version 2 directory format is strongly recommended.
Due to the way glibc getdents interfaces with the kernel implementation,
XFS version 1 directories can exhibit problems, usually missing directory
entries. By default mkfs will create version 2 directory format filesystems.
</p>
<li>
4k filesystem block size limitation
</li>
<p>
For the current release of XFS, the filesystem block size is limited
to the size of a memory page. On a x86 architecture that size is 4 Kbytes.
</p>
<p>
Note that files systems created on an IRIX/MIPS platform must have been
created with a 4 Kbyte block size in order to be mounted on a ia32 Linux system.
File systems not created with a 4k block will fail to mount with an error
indicating the mis-match.
</p>
<li>
Unwritten extents unsupported
</li>
<p>
The unwritten extent feature is not yet operational
and should be turned off when mkfs is executed, using
the following argument to the <tt>mkfs</tt> command:
</p>
<p>
<tt>-d unwritten=0</tt>
</p>
<p>
Currently this is the default setting for mkfs.xfs on Linux.
</p>
<li>
Synchronous I/O unsupported
</li>
<p>
Specifying O_SYNC on open will not have the desired effect. write system
calls can return before data is on disk. fsync will force data out to disk.
This will be fixed in a later beta.
</p>
<li>
Direct I/O is not yet operational.
</li>
<p>
It is scheduled for a later beta release.
</p>
<li>
Quotas
</li>
<p>
User quotas are now functional. XFS uses journaling to
provide a higher level guarantee of quota consistency than
other filesystems, and as such requires a modified version
of the standard quota utilities. These tools can currently
only be obtained from the "cmd/quota" directory in the XFS
CVS tree.
</p>
<p>
Group quotas are not yet supported.
</p>
<li>
Changing filesystem permissions
</li>
<p>
It is possible to remount an XFS filesystem to change its permissions
from read/write to read-only. This support is needed for
XFS to function as a root filesystem.
</p>
<p> Note: This operation will most likely result in a hung file system if performed on a busy
partition.
</p>
<li>
Software RAID1 and RAID5 unsupported
</li>
<P>
2.4.0 has several bugs in the Multiple Disk driver which have been
fixed in 2.4.1. Furthermore, a few problems have been identified in
the interaction between XFS and MD which could cause corruption during
resync after a disk failure. These will be fixed in the next
release.
</p>
<li>
Logical Volume Manager issues
</li>
<p>
2.4.0 features an upgrade to the Linux Logical Volume Manager.
However, there are several known issues with the included version. If
you intend to use LVM, it is recommended you recompile your kernel
with the latest patches from <A
href="http://sistina.com/lvm/Pages/download.html">The LVM Development
Team</A>. You will also need the 0.9 userland utilities included in
this patch to access your LVM partitions, as the new driver isn't
backwards compatible with the 0.8 tools.
</p>
<p>
mkfs.xfs does not currently support querying the stripe size/stripe
width from LVM 0.9 volumes. You'll have to specify these by hand
using the sunit and swidth parameters when you create a new file
system. This will be fixed in our next release.
</p>
<br>
<& xfsTemplate,bottom=>1 &>