Product SiteDocumentation Site

XFS 0.1

XFS User Guide

A guide for XFS filesystem users and administrators.

Edition 0


Legal Notice

© Copyright 2006 Silicon Graphics Inc. All rights reserved. Permission is granted to copy, distribute, and/or modify this document under the terms of the Creative Commons Attribution-Share Alike, Version 3.0 or any later version published by the Creative Commons Corp. A copy of the license is available at http://creativecommons.org/licenses/by-sa/3.0/us/.
Abstract
A guide for XFS filesystem users and administrators.

Preface
1. Document Conventions
1.1. Typographic Conventions
1.2. Pull-quote Conventions
1.3. Notes and Warnings
2. We Need Feedback!
1. XFS Background
1.1. Course Objectives
1.1.1. Day 1
1.1.2. Day 2
1.1.3. Day 3
1.1.4. Day 4
1.2. A Brief History of XFS
1.3. XFS on Linux
1.4. Who is using XFS
1.5. XFS Distributions – kernelspace
1.6. XFS Distributions - userspace
1.7. IRIX vs Linux
2. XFS Overview
2.1. XFS Filesystem Structure
2.2. Allocation Groups
2.3. Allocation Group Structure
2.4. XFS Limits
2.5. Filesystem Block Size (FSB)
2.6. Extents
2.7. Unwritten Extents
2.8. Delayed Allocation
2.9. Direct I/O
2.10. Stripe Alignment
2.11. Inodes
2.12. Directory and File Inodes
2.13. Journal Log
3. XFS Build
3.1. Building XFS
3.2. XFS Source Code
3.3. Building xfs-cmds
3.4. XFS Userspace Packaging
3.5. Kernel Configuration Options
3.6. Build Kernel Components
3.7. Load XFS Module
3.8. Other products that know XFS
4. mkfs
4.1. Creating XFS Filesystems
4.2. mkfs - Allocation Block Size
4.3. mkfs - Allocation groups
4.4. mkfs - Stripe Alignment
4.5. mkfs - Inode Options
4.6. mkfs - Extended Attributes
4.7. mkfs - Naming options
4.8. mkfs - External Log
4.9. mkfs - Realtime
4.10. mkfs - Filesystem Image
4.11. mkfs - Sector Size
4.12. mkfs - Filesystem Label
4.13. mkfs - Prototype Filesystem
5. mount
5.1. Mounting XFS Filesystems
5.2. Mount Options
5.3. Mount Options - Log & Realtime Devices
5.4. Mount Options - 32 or 64 bit Inodes
5.5. Mount Options - Stripes
5.6. Mount Options - Large I/O
5.7. Mount Options - Performance Tweaks
5.8. Mount Options - Extended Attributes
5.9. Mount Options - Group Ids
5.10. Mount Options - Recovery
5.11. Mount Options - Barriers
5.12. Mount Options - User/Group/Project Quotas
6. Allocators
6.1. Allocation Policy
6.2. Allocation Policy - Directories
6.3. Allocation Policy - Files
6.4. Inode Numbers
6.5. Inode Number Format
6.6. Inode Number Size
6.7. 32bit and 64bit Inodes
6.8. 32bit and 64bit Inodes
6.9. 32 bit Inodes on >1TB Filesystems
6.10. Rotor Step
6.11. Realtime Allocator
6.12. Realtime Allocator Limitations
6.13. Traditional allocator impact on some workloads
6.14. Traditional Stream Allocation
6.15. RAID performance with interleaved streams
6.16. Filestreams Allocator
6.17. RAID performance with filestreams
6.18. Fragmentation
6.19. Fragmentation Example
6.20. xfs_fsr
7. XFS Extended Attributes
7.1. Extended Attributes
7.2. EA Namespaces
7.3. EA Command Line Interface
7.4. EA Ondisk Format
7.5. EA Tuning
7.6. EA and Attr2
7.7. EA and Backup
8. XFS Quotas
8.1. Quotas
8.2. Quota Types
8.3. Reporting Vs Enforcement
8.4. Enforcement (Limits)
8.5. Configuring Quotas
8.6. xfs_quota
8.7. Quota Reporting
8.8. Quota Limits
8.9. Enabling/Disabling Quotas
8.10. Expert xfs commands
8.11. Generic Quota Tools
8.12. Providing user feedback
8.13. Implementation
8.14. Implementation – Project Quotas.
8.15. Quotas Ondisk
8.16. Quotas Ondisk
9. XFS Internals
9.1. XFS Internals
9.2. xfs_ioctl
9.3. xfs_ioctl – Miscellaneous
9.4. xfs_ioctl - Attribute Flags
9.5. xfs_ioctl - Space Allocation
9.6. xfs_ioctl - Bulkstat
9.7. XFS sysctls - Daemons
9.8. XFS sysctls - Debug
9.9. XFS sysctls - Compatibility
9.10. XFS sysctls – Attribute Inheritence
9.11. XFS sysctls - Misc
9.12. Generic sysctls
9.13. Mount Path
9.14. Mount - xfs_mountfs
9.15. Transactions
9.16. Creating Transactions
9.17. In Core Logs
9.18. Log Sequence Numbers
9.19. XFS Log Diagram
9.20. xfs_bmapi
9.21. xfs_bmap_alloc
9.22. Memory Allocation
9.23. Memory allocations for transactions
9.24. Metadata Buffering
9.25. Metadata I/O Completion
9.26. Delayed write buffers
9.27. I/O Path
9.28. I/O Path - Locking
9.29. I/O Path - Delayed Allocation
9.30. sync(2)
9.31. Data writeout
9.32. XFS writepage
10. XFS QA
10.1. QA
11. XFS Repair
11.1. Filesystems can be corrupted by
11.2. xfs_check
11.3. xfs_repair
11.4. xfs_repair – Phase 1
11.5. xfs_repair – Phase 2
11.6. xfs_repair – Phase 3
11.7. xfs_repair – Phase 4
11.8. xfs_repair – Phase 5
11.9. xfs_repair – Phase 6
11.10. xfs_repair – Phase 7
11.11. Triaging xfs_check and xfs_repair problems
11.12. xfs_repair and xfs_check should agree
11.13. Dump the offending inodes.
11.14. Mount and Repair Fails – Corrupted Log
12. XFS Triage
12.1. Triage
13. XFS Monitoring
13.1. Monitoring
13.2. Inodes
13.3. PCP Inode Metrics
13.4. PCP Directory Metrics
13.5. PCP File Attribute Metrics
13.6. PCP Allocation Metrics
13.7. PCP Block Map Metrics
13.8. PCP Journaling Metrics
13.9. PCP AIL Metrics
13.10. PCP Quota Metrics
13.11. xfsstats
14. XFS Dump and Restore
14.1. Dump and Restore
14.2. Dump vs Copy vs Backup
14.3. xfsdump - Features
14.4. TODO
15. XFS DMAPI
15.1. DMAPI
16. XFS and Volume Managers
16.1. XFS and Volume Managers
A. Revision History
Index