OK, new feature time. This hopefully is the answer to performance
problems on software raid5, and to issues with EVMS and LVM2 when
using XFS. You will need new commands to use this.
Basically this adds support for a new log format in XFS, which
allows for two things:
o larger internal log buffers, and hence larger log writes,
the old limit was 32K, the new one is 256K. You must be using
version 2 log format to use the larger sizes.
o Stripe aligned log writes, log writes can be stripe aligned to
the data stripe unit, or to an explicitly specified log stripe
unit. This is the part which helps out EVMS, LVM2 and software
raid5.
How to use it:
First build new commands - at some point I hope to put out a
utility to convert an existing filesystem, but right now you
have to use mkfs to get to the new code. Old filesystems just
keep on working without doing anything to them.
Use a mkfs command like this:
mkfs -t xfs -f -l version=2,sunit=4096 /dev/xxx
You can skip the sunit if all you want is larger log writes.
Then mount the filesystem. You can use larger logbuffers
with -o logbsize=65536 (or another power of 2) on the
mount command.
Larger log buffers help performance, as does the stripe alignment.
Note that Irix does not have support for this yet, so you will not
be able to mount filesystems with the new log format on Irix.
Steve
Date: Tue Jun 18 13:32:20 PDT 2002
Workarea: jen.americas.sgi.com:/src/lord/xfs-newlog
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
Modid: xfs-cmds:slinx:121875a
cmd/xfsprogs/db/sb.c - 1.6
- Add logsunit to super block fields
cmd/xfsprogs/db/uuid.c - 1.6
- Pass log stripe into log clear code
cmd/xfsprogs/VERSION - 1.48
- Bump revision number of version 2 log support
cmd/xfsprogs/doc/CHANGES - 1.69
- New version
cmd/xfsprogs/man/man8/mkfs.xfs.8 - 1.9
- New options for mkfs
cmd/xfsprogs/mkfs/xfs_mkfs.c - 1.29
- Add log v2 support
cmd/xfsprogs/libxlog/xfs_log_recover.c - 1.11
- Expand recovery to cope with v2 logs
cmd/xfsprogs/include/xfs_log_priv.h - 1.9
- New structures for v2 log format
cmd/xfsprogs/include/xfs_sb.h - 1.6
- Add log versioning, and new super block field for the log stripe
cmd/xfsprogs/include/xfs_fs.h - 1.18
- Version geometry ioctl
cmd/xfsprogs/include/libxfs.h - 1.13
- Add new parameter to libxfs_log_clear, add stripe mask to the
mount structure
cmd/xfsprogs/include/xfs_mount.h - 1.23
- Add stripe mask to the mount structure
cmd/xfsprogs/repair/agheader.c - 1.8
- Account for presence of log stripe in super block
cmd/xfsprogs/repair/phase2.c - 1.7
- Tell log clear about the stripe unit
cmd/xfsprogs/libxfs/rdwr.c - 1.9
- Make the log clear code know about log versions and striping
cmd/xfsprogs/libxfs/xfs_mount.c - 1.9
- Initialize log stripe mask from super block
cmd/xfsdump/VERSION - 1.33
- Bump revision number
cmd/xfsdump/doc/CHANGES - 1.41
- New version
cmd/xfstests/016 - 1.10
- Fix test for v2 striped logs
Modid: 2.4.x-xfs:slinx:121875b
linux/fs/xfs/xfsidbg.c - 1.185
- Log v2 debug stuff
linux/fs/xfs/xfs_log.c - 1.249
- Support for writing v2 logs
linux/fs/xfs/xfs_macros.c - 1.42
- Log v2 macro
linux/fs/xfs/xfs_log_priv.h - 1.83
- New structures for v2 log format
linux/fs/xfs/xfs_sb.h - 1.52
- Add log versioning, and new super block field for the log stripe
linux/fs/xfs/xfs_log_recover.c - 1.234
- Support for recovering v2 logs
linux/fs/xfs/xfs_vfsops.c - 1.353
- Checks for new logbuf sizes
linux/fs/xfs/xfs_mount.h - 1.146
- Add stripemask to xfs_mount_t
linux/fs/xfs/xfs_mount.c - 1.287
- Initialize log stripe mask from super block
linux/fs/xfs/xfs_fsops.c - 1.79
- New geometry version
linux/fs/xfs/linux/xfs_super.c - 1.181
- Parse new bufsize parameters
linux/include/linux/xfs_fs.h - 1.34
- Version geometry ioctl
linux/fs/xfs/linux/xfs_ioctl.c - 1.63
- Add new version of geometry ioctl
linux/fs/xfs/support/debug.c - 1.6
- Make CE_PANIC stop the machine
|