XFS Algorithms & Data Structures

Total Page:16

File Type:pdf, Size:1020Kb

XFS Algorithms & Data Structures XFS Algorithms & Data Structures i XFS Algorithms & Data Structures 3rd Edition XFS Algorithms & Data Structures ii Copyright © 2006 Silicon Graphics Inc. © 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/. XFS Algorithms & Data Structures iii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 0.1 2006 Initial Release Silicon Graphics, Inc 1.0 Fri Jul 03 2009 Publican Conversion Ryan Lerch 1.1 March 2010 Community Release Eric Sandeen 1.99 February 2014 AsciiDoc Conversion Dave Chinner 3 October 2015 Miscellaneous fixes. Darrick Wong Add missing field definitions. Add some missing xfs_db examples. Add an overview of XFS. Document the journal format. Document the realtime device. 3.1 October 2015 Add v5 fields. Darrick Wong Discuss metadata integrity. Document the free inode B+tree. Create an index of magic numbers. Document sparse inodes. 3.14 January 2016 Document disk format change testing. Darrick Wong 3.141 June 2016 Document the reverse-mapping btree. Darrick Wong Move the b+tree info to a separate chapter. Discuss overlapping interval b+trees. Discuss new log items for atomic updates. Document the reference-count btree. Discuss block sharing, reflink, & deduplication. 3.1415 July 2016 Document the real-time reverse-mapping btree. Darrick Wong 3.14159 June 2017 Add the metadump file format. Darrick Wong 3.141592 May 2018 Incorporate Dave Chinnerʼs log design document. Darrick Wong Incorporate Dave Chinnerʼs self-describing metadata design document. XFS Algorithms & Data Structures iv Contents I High Level Design 1 1 Overview 3 2 Metadata Integrity 4 2.1 Introduction .................................................. 4 2.2 Self Describing Metadata ........................................... 5 2.3 Runtime Validation .............................................. 6 2.4 Structures ................................................... 7 2.5 Inodes and Dquots ............................................... 9 3 Delayed Logging 10 3.1 Introduction to Re-logging in XFS ...................................... 10 3.2 Delayed Logging Concepts .......................................... 11 3.3 Delayed Logging Design ........................................... 12 3.3.1 Storing Changes ........................................... 12 3.3.2 Tracking Changes .......................................... 13 3.3.3 Checkpoints .............................................. 14 3.3.4 Checkpoint Sequencing ....................................... 16 3.3.5 Checkpoint Log Space Accounting ................................. 17 3.3.6 Log Item Pinning ........................................... 18 3.3.7 Concurrent Scalability ........................................ 18 3.3.8 Lifecycle Changes .......................................... 19 4 Sharing Data Blocks 22 5 Metadata Reconstruction 23 6 Common XFS Types 25 XFS Algorithms & Data Structures v 7 Magic Numbers 27 8 Theoretical Limits 30 9 Testing Filesystem Changes 31 II Global Structures 32 10 Fixed Length Record B+trees 33 10.1 Short Format B+trees ............................................. 34 10.2 Long Format B+trees ............................................. 35 11 Variable Length Record B+trees 37 11.1 Block Headers ................................................. 38 11.2 Internal Nodes ................................................. 39 12 Allocation Groups 41 12.1 Superblocks .................................................. 42 12.1.1 xfs_db Superblock Example ..................................... 50 12.2 AG Free Space Management ......................................... 51 12.2.1 AG Free Space Block ......................................... 51 12.2.2 AG Free Space B+trees ........................................ 53 12.2.3 AG Free List .............................................. 55 12.2.3.1 xfs_db AGF Example ................................... 57 12.3 AG Inode Management ............................................ 59 12.3.1 Inode Numbers ............................................ 59 12.3.2 Inode Information .......................................... 59 12.4 Inode B+trees ................................................. 61 12.4.1 xfs_db AGI Example ......................................... 63 12.5 Sparse Inodes ................................................. 64 12.5.1 xfs_db Sparse Inode AGI Example .................................. 65 12.6 Real-time Devices ............................................... 67 12.7 Reverse-Mapping B+tree ........................................... 67 12.7.1 xfs_db rmapbt Example ....................................... 69 12.8 Reference Count B+tree ............................................ 72 12.8.1 xfs_db refcntbt Example ....................................... 73 XFS Algorithms & Data Structures vi 13 Journaling Log 75 13.1 Log Records .................................................. 75 13.2 Log Operations ................................................ 77 13.3 Log Items .................................................... 78 13.3.1 Transaction Headers ......................................... 79 13.3.2 Intent to Free an Extent ....................................... 80 13.3.3 Completion of Intent to Free an Extent ............................... 81 13.3.4 Reverse Mapping Updates Intent .................................. 82 13.3.5 Completion of Reverse Mapping Updates .............................. 83 13.3.6 Reference Count Updates Intent ................................... 84 13.3.7 Completion of Reference Count Updates .............................. 85 13.3.8 File Block Mapping Intent ...................................... 85 13.3.9 Completion of File Block Mapping Updates ............................ 86 13.3.10 Inode Updates ............................................. 87 13.3.11 Inode Data Log Item ......................................... 89 13.3.12 Buffer Log Item ............................................ 89 13.3.13 Buffer Data Log Item ......................................... 90 13.3.14 Update Quota File .......................................... 90 13.3.15 Quota Update Data Log Item .................................... 90 13.3.16 Disable Quota Log Item ....................................... 91 13.3.17 Inode Creation Log Item ....................................... 91 13.4 xfs_logprint Example ............................................. 92 14 Internal Inodes 95 14.1 Quota Inodes .................................................. 95 14.2 Real-time Inodes ................................................ 98 14.2.1 Real-Time Bitmap Inode ....................................... 98 14.2.2 Real-Time Summary Inode ...................................... 98 14.2.3 Real-Time Reverse-Mapping B+tree ................................. 99 14.2.3.1 xfs_db rtrmapbt Example ................................. 100 III Dynamically Allocated Structures 103 15 On-disk Inode 104 15.1 Inode Core ................................................... 105 15.2 Unlinked Pointer ................................................ 110 XFS Algorithms & Data Structures vii 15.3 Data Fork .................................................... 111 15.3.1 Regular Files (S_IFREG) ....................................... 112 15.3.2 Directories (S_IFDIR) ......................................... 112 15.3.3 Symbolic Links (S_IFLNK) ...................................... 112 15.3.4 Other File Types ........................................... 112 15.4 Attribute Fork ................................................. 113 15.4.1 Extended Attribute Versions ..................................... 113 16 Data Extents 115 16.1 Extent List ................................................... 116 16.1.1 xfs_db Inode Data Fork Extents Example .............................. 117 16.2 B+tree Extent List ............................................... 119 16.2.1 xfs_db bmbt Example ......................................... 123 17 Directories 124 17.1 Short Form Directories ............................................ 125 17.1.1 xfs_db Short Form Directory Example ............................... 127 17.2 Block Directories ............................................... 130 17.2.1 xfs_db Block Directory Example .................................. 136 17.3 Leaf Directories ................................................ 139 17.3.1 xfs_db Leaf Directory Example ................................... 143 17.4 Node Directories ................................................ 147 17.4.1 xfs_db Node Directory Example ................................... 151 17.5 B+tree Directories ............................................... 153 17.5.1 xfs_db B+tree Directory Example .................................. 154 18 Extended Attributes 157 18.1 Short Form Attributes ............................................. 157 18.1.1 xfs_db Short Form Attribute Example ................................ 159 18.2 Leaf Attributes ................................................. 163 18.2.1 xfs_db Leaf Attribute Example .................................... 168 18.3 Node Attributes ................................................ 170 18.3.1 xfs_db Node Attribute Example ................................... 171 18.4 B+tree Attributes ............................................... 174 18.4.1 xfs_db B+tree Attribute Example .................................
Recommended publications
  • Configuring UNIX-Specific Settings: Creating Symbolic Links : Snap
    Configuring UNIX-specific settings: Creating symbolic links Snap Creator Framework NetApp September 23, 2021 This PDF was generated from https://docs.netapp.com/us-en/snap-creator- framework/installation/task_creating_symbolic_links_for_domino_plug_in_on_linux_and_solaris_hosts.ht ml on September 23, 2021. Always check docs.netapp.com for the latest. Table of Contents Configuring UNIX-specific settings: Creating symbolic links . 1 Creating symbolic links for the Domino plug-in on Linux and Solaris hosts. 1 Creating symbolic links for the Domino plug-in on AIX hosts. 2 Configuring UNIX-specific settings: Creating symbolic links If you are going to install the Snap Creator Agent on a UNIX operating system (AIX, Linux, and Solaris), for the IBM Domino plug-in to work properly, three symbolic links (symlinks) must be created to link to Domino’s shared object files. Installation procedures vary slightly depending on the operating system. Refer to the appropriate procedure for your operating system. Domino does not support the HP-UX operating system. Creating symbolic links for the Domino plug-in on Linux and Solaris hosts You need to perform this procedure if you want to create symbolic links for the Domino plug-in on Linux and Solaris hosts. You should not copy and paste commands directly from this document; errors (such as incorrectly transferred characters caused by line breaks and hard returns) might result. Copy and paste the commands into a text editor, verify the commands, and then enter them in the CLI console. The paths provided in the following steps refer to the 32-bit systems; 64-bit systems must create simlinks to /usr/lib64 instead of /usr/lib.
    [Show full text]
  • The Microsoft Compound Document File Format"
    OpenOffice.org's Documentation of the Microsoft Compound Document File Format Author Daniel Rentz ✉ mailto:[email protected] http://sc.openoffice.org License Public Documentation License Contributors Other sources Hyperlinks to Wikipedia ( http://www.wikipedia.org) for various extended information Mailing list ✉ mailto:[email protected] Subscription ✉ mailto:[email protected] Download PDF http://sc.openoffice.org/compdocfileformat.pdf XML http://sc.openoffice.org/compdocfileformat.odt Project started 2004-Aug-30 Last change 2007-Aug-07 Revision 1.5 Contents 1 Introduction ......................................................................................................... 3 1.1 License Notices 3 1.2 Abstract 3 1.3 Used Terms, Symbols, and Formatting 4 2 Storages and Streams ........................................................................................... 5 3 Sectors and Sector Chains ................................................................................... 6 3.1 Sectors and Sector Identifiers 6 3.2 Sector Chains and SecID Chains 7 4 Compound Document Header ............................................................................. 8 4.1 Compound Document Header Contents 8 4.2 Byte Order 9 4.3 Sector File Offsets 9 5 Sector Allocation ............................................................................................... 10 5.1 Master Sector Allocation Table 10 5.2 Sector Allocation Table 11 6 Short-Streams ...................................................................................................
    [Show full text]
  • Filesystem Maintenance
    Filesystem Maintenance René Serral-Gracià Xavier Martorell-Bofill1 1Universitat Politècnica de Catalunya (UPC) May 26, 2014 Introduction Filesystems Disk verification LVM Backups Lectures 1 System administration introduction 2 Operating System installation 3 User management 4 Application management 5 System monitoring 6 Filesystem Maintenance 7 Local services 8 Network services 9 Security and Protection 10 Virtualization R. Serral-Gracià, et. al Filesystem 2 Introduction Filesystems Disk verification LVM Backups Outline 1 Introduction Goals 2 Filesystems 3 Disk verification 4 Logical Volume Manager (LVM) 5 Backups R. Serral-Gracià, et. al Filesystem 3 Introduction Filesystems Disk verification LVM Backups Goals Knowledge Filesystems Backup tools Backup media Abilities Filesystem ampliation Filesystem verification Perform and restore backups R. Serral-Gracià, et. al Filesystem 4 Introduction Filesystems Disk verification LVM Backups Outline 1 Introduction 2 Filesystems 3 Disk verification 4 Logical Volume Manager (LVM) 5 Backups R. Serral-Gracià, et. al Filesystem 5 Introduction Filesystems Disk verification LVM Backups Filesystems (I) FAT (FAT16) –> DOS Small disks (< 4GB) File names 8+3 FAT32 (VFAT) –> Win95 Larger disks Long filenames Partial definition of soft-links No owner or file access privileges exFAT FAT32 Extension Theoretical maximum capacity of 64ZiB (512TiB real) NTFS –> WinNT, XP, Vista, Windows 7 Integrates ownership and privileges (create, modify, access...) Maps to Windows NT security model R. Serral-Gracià, et. al Filesystem 6 Introduction Filesystems Disk verification LVM Backups Filesystems (II) ext2 UNIX Filesystem Soft/hard links Access privileges Long filenames ext3 Adds journaling (eases error recovery) reiserfs Files and directories organized similarly to a database Features journaling Very efficient in small files No internal block fragmentation R.
    [Show full text]
  • Serverless Network File Systems
    Serverless Network File Systems Thomas E. Anderson, Michael D. Dahlin, Jeanna M. Neefe, David A. Patterson, Drew S. Roselli, and Randolph Y. Wang Computer Science Division University of California at Berkeley Abstract In this paper, we propose a new paradigm for network file system design, serverless network file systems. While traditional network file systems rely on a central server machine, a serverless system utilizes workstations cooperating as peers to provide all file system services. Any machine in the system can store, cache, or control any block of data. Our approach uses this location independence, in combination with fast local area networks, to provide better performance and scalability than traditional file systems. Further, because any machine in the system can assume the responsibilities of a failed component, our serverless design also provides high availability via redundant data storage. To demonstrate our approach, we have implemented a prototype serverless network file system called xFS. Preliminary performance measurements suggest that our architecture achieves its goal of scalability. For instance, in a 32-node xFS system with 32 active clients, each client receives nearly as much read or write throughput as it would see if it were the only active client. 1. Introduction A serverless network file system distributes storage, cache, and control over cooperating workstations. This approach contrasts with traditional file systems such as Netware [Majo94], NFS [Sand85], Andrew [Howa88], and Sprite [Nels88] where a central server machine stores all data and satisfies all client cache misses. Such a central server is both a performance and reliability bottleneck. A serverless system, on the other hand, distributes control processing and data storage to achieve scalable high performance, migrates the responsibilities of failed components to the remaining machines to provide high availability, and scales gracefully to simplify system management.
    [Show full text]
  • Mac OS X Server Administrator's Guide
    034-9285.S4AdminPDF 6/27/02 2:07 PM Page 1 Mac OS X Server Administrator’s Guide K Apple Computer, Inc. © 2002 Apple Computer, Inc. All rights reserved. Under the copyright laws, this publication may not be copied, in whole or in part, without the written consent of Apple. The Apple logo is a trademark of Apple Computer, Inc., registered in the U.S. and other countries. Use of the “keyboard” Apple logo (Option-Shift-K) for commercial purposes without the prior written consent of Apple may constitute trademark infringement and unfair competition in violation of federal and state laws. Apple, the Apple logo, AppleScript, AppleShare, AppleTalk, ColorSync, FireWire, Keychain, Mac, Macintosh, Power Macintosh, QuickTime, Sherlock, and WebObjects are trademarks of Apple Computer, Inc., registered in the U.S. and other countries. AirPort, Extensions Manager, Finder, iMac, and Power Mac are trademarks of Apple Computer, Inc. Adobe and PostScript are trademarks of Adobe Systems Incorporated. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Netscape Navigator is a trademark of Netscape Communications Corporation. RealAudio is a trademark of Progressive Networks, Inc. © 1995–2001 The Apache Group. All rights reserved. UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company, Ltd. 062-9285/7-26-02 LL9285.Book Page 3 Tuesday, June 25, 2002 3:59 PM Contents Preface How to Use This Guide 39 What’s Included
    [Show full text]
  • Alias Manager 4
    CHAPTER 4 Alias Manager 4 This chapter describes how your application can use the Alias Manager to establish and resolve alias records, which are data structures that describe file system objects (that is, files, directories, and volumes). You create an alias record to take a “fingerprint” of a file system object, usually a file, that you might need to locate again later. You can store the alias record, instead of a file system specification, and then let the Alias Manager find the file again when it’s needed. The Alias Manager contains algorithms for locating files that have been moved, renamed, copied, or restored from backup. Note The Alias Manager lets you manage alias records. It does not directly manipulate Finder aliases, which the user creates and manages through the Finder. The chapter “Finder Interface” in Inside Macintosh: Macintosh Toolbox Essentials describes Finder aliases and ways to accommodate them in your application. ◆ The Alias Manager is available only in system software version 7.0 or later. Use the Gestalt function, described in the chapter “Gestalt Manager” of Inside Macintosh: Operating System Utilities, to determine whether the Alias Manager is present. Read this chapter if you want your application to create and resolve alias records. You might store an alias record, for example, to identify a customized dictionary from within a word-processing document. When the user runs a spelling checker on the document, your application can ask the Alias Manager to resolve the record to find the correct dictionary. 4 To use this chapter, you should be familiar with the File Manager’s conventions for Alias Manager identifying files, directories, and volumes, as described in the chapter “Introduction to File Management” in this book.
    [Show full text]
  • Cygwin User's Guide
    Cygwin User’s Guide Cygwin User’s Guide ii Copyright © Cygwin authors Permission is granted to make and distribute verbatim copies of this documentation provided the copyright notice and this per- mission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this documentation under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this documentation into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. Cygwin User’s Guide iii Contents 1 Cygwin Overview 1 1.1 What is it? . .1 1.2 Quick Start Guide for those more experienced with Windows . .1 1.3 Quick Start Guide for those more experienced with UNIX . .1 1.4 Are the Cygwin tools free software? . .2 1.5 A brief history of the Cygwin project . .2 1.6 Highlights of Cygwin Functionality . .3 1.6.1 Introduction . .3 1.6.2 Permissions and Security . .3 1.6.3 File Access . .3 1.6.4 Text Mode vs. Binary Mode . .4 1.6.5 ANSI C Library . .4 1.6.6 Process Creation . .5 1.6.6.1 Problems with process creation . .5 1.6.7 Signals . .6 1.6.8 Sockets . .6 1.6.9 Select . .7 1.7 What’s new and what changed in Cygwin . .7 1.7.1 What’s new and what changed in 3.2 .
    [Show full text]
  • 11.7 the Windows 2000 File System
    830 CASE STUDY 2: WINDOWS 2000 CHAP. 11 11.7 THE WINDOWS 2000 FILE SYSTEM Windows 2000 supports several file systems, the most important of which are FAT-16, FAT-32, and NTFS (NT File System). FAT-16 is the old MS-DOS file system. It uses 16-bit disk addresses, which limits it to disk partitions no larger than 2 GB. FAT-32 uses 32-bit disk addresses and supports disk partitions up to 2 TB. NTFS is a new file system developed specifically for Windows NT and car- ried over to Windows 2000. It uses 64-bit disk addresses and can (theoretically) support disk partitions up to 264 bytes, although other considerations limit it to smaller sizes. Windows 2000 also supports read-only file systems for CD-ROMs and DVDs. It is possible (even common) to have the same running system have access to multiple file system types available at the same time. In this chapter we will treat the NTFS file system because it is a modern file system unencumbered by the need to be fully compatible with the MS-DOS file system, which was based on the CP/M file system designed for 8-inch floppy disks more than 20 years ago. Times have changed and 8-inch floppy disks are not quite state of the art any more. Neither are their file systems. Also, NTFS differs both in user interface and implementation in a number of ways from the UNIX file system, which makes it a good second example to study. NTFS is a large and complex system and space limitations prevent us from covering all of its features, but the material presented below should give a reasonable impression of it.
    [Show full text]
  • Where Do You Want to Go Today? Escalating
    Where Do You Want to Go Today? ∗ Escalating Privileges by Pathname Manipulation Suresh Chari Shai Halevi Wietse Venema IBM T.J. Watson Research Center, Hawthorne, New York, USA Abstract 1. Introduction We analyze filename-based privilege escalation attacks, In this work we take another look at the problem of where an attacker creates filesystem links, thereby “trick- privilege escalation via manipulation of filesystem names. ing” a victim program into opening unintended files. Historically, attention has focused on attacks against priv- We develop primitives for a POSIX environment, provid- ileged processes that open files in directories that are ing assurance that files in “safe directories” (such as writable by an attacker. One classical example is email /etc/passwd) cannot be opened by looking up a file by delivery in the UNIX environment (e.g., [9]). Here, an “unsafe pathname” (such as a pathname that resolves the mail-delivery directory (e.g., /var/mail) is often through a symbolic link in a world-writable directory). In group or world writable. An adversarial user may use today's UNIX systems, solutions to this problem are typ- its write permission to create a hard link or symlink at ically built into (some) applications and use application- /var/mail/root that resolves to /etc/passwd. A specific knowledge about (un)safety of certain directories. simple-minded mail-delivery program that appends mail to In contrast, we seek solutions that can be implemented in the file /var/mail/root can have disastrous implica- the filesystem itself (or a library on top of it), thus providing tions for system security.
    [Show full text]
  • Answers to Even- Numbered Exercises 5
    Answers to Even- Numbered Exercises 5 from page 163 1. What does the shell ordinarily do while a command is executing? What should you do if you do not want to wait for a command to finish before running another command? 2. Using sort as a filter, rewrite the following sequence of commands: $ sort list > temp $ lpr temp $ rm temp $ cat list | sort | lpr 3. What is a PID number? Why are they useful when you run processes in the background? 4. Assume that the following files are in the working directory: $ ls intro notesb ref2 section1 section3 section4b notesa ref1 ref3 section2 section4a sentrev Give commands for each of the following, using wildcards to express filenames with as few characters as possible. 1 2 Chapter 5 Answers to Exercises a. List all files that begin with section. $ ls section* b. List the section1, section2, and section3 files only. $ ls section[1-3] c. List the intro file only. $ ls i* d. List the section1, section3, ref1, and ref3 files. $ ls *[13] 5. Refer to the documentation of utilities in Part III or the man pages to determine what commands will a. Output the number of lines in the standard input that contain the word a or A. b. Output only the names of the files in the working directory that contain the pattern $(. c. List the files in the working directory in their reverse alphabetical order. d. Send a list of files in the working directory to the printer, sorted by size. 6. Give a command to a. Redirect the standard output from a sort command into a file named phone_list.
    [Show full text]
  • Efficient Metadata Management in Cloud Computing
    Send Orders for Reprints to [email protected] The Open Cybernetics & Systemics Journal, 2015, 9, 1485-1489 1485 Open Access Efficient Metadata Management in Cloud Computing Yu Shuchun1,* and Huang Bin2 1Deptment of Computer Engineering, Huaihua University, Huaihua, Hunan, 418008, P.R. China; 2School of Mathmatic and Computer Science, Guizhou Normal University, Guiyang, Guizhou, 550001, P.R. China Abstract: Existing metadata management methods bring about lower access efficiency in solving the problem of renam- ing directory. This paper proposes a metadata management method based on directory path redirection (named as DPRD) which includes the data distribution method based on directory path and the directory renaming method based on directory path redirection. Experiments show that DPRD effectively solves the lower access efficiency caused by the renaming di- rectory. Keywords: Cloud computing, directory path, redirection, metadata. 1. INTRODUCTION renaming a directory. The directory path fixed numbering (marked as DPFN) [10, 11] endows the globally unique ID With the prevalence of Internet application and data- (DPID) for each directory path, and DPID remains un- intensive computing, there are many new application sys- changed in the life cycle of the directory path, and the meta- tems in cloud computing environment. These systems are data of all files (or sub-directories) in the directory path will mainly characterized by [1-3]: (1) The enormous files stored be placed and achieved according to its hash value of DPID. in the system, some even reach trillions level, and it still in- It can solve the metadata migration issue caused by directory crease rapidly; (2) The user number and daily access are renaming, but it uses a directory path index server to manage quire enormous, reaching billions level.
    [Show full text]
  • XFS: There and Back ...And There Again? Slide 1 of 38
    XFS: There and Back.... .... and There Again? Dave Chinner <[email protected]> <[email protected]> XFS: There and Back .... and There Again? Slide 1 of 38 Overview • Story Time • Serious Things • These Days • Shiny Things • Interesting Times XFS: There and Back .... and There Again? Slide 2 of 38 Story Time • Way back in the early '90s • Storage exceeding 32 bit capacities • 64 bit CPUs, large scale MP • Hundreds of disks in a single machine • XFS: There..... Slide 3 of 38 "x" is for Undefined xFS had to support: • Fast Crash Recovery • Large File Systems • Large, Sparse Files • Large, Contiguous Files • Large Directories • Large Numbers of Files • - Scalability in the XFS File System, 1995 http://oss.sgi.com/projects/xfs/papers/xfs_usenix/index.html XFS: There..... Slide 4 of 38 The Early Years XFS: There..... Slide 5 of 38 The Early Years • Late 1994: First Release, Irix 5.3 • Mid 1996: Default FS, Irix 6.2 • Already at Version 4 • Attributes • Journalled Quotas • link counts > 64k • feature masks • • XFS: There..... Slide 6 of 38 The Early Years • • Allocation alignment to storage geometry (1997) • Unwritten extents (1998) • Version 2 directories (1999) • mkfs time configurable block size • Scalability to tens of millions of directory entries • • XFS: There..... Slide 7 of 38 What's that Linux Thing? • Feature development mostly stalled • Irix development focussed on CXFS • New team formed for Linux XFS port! • Encumberance review! • Linux was missing lots of bits XFS needed • Lot of work needed • • XFS: There and..... Slide 8 of 38 That Linux Thing? XFS: There and..... Slide 9 of 38 Light that fire! • 2000: SGI releases XFS under GPL • • 2001: First stable XFS release • • 2002: XFS merged into 2.5.36 • • JFS follows similar timeline • XFS: There and....
    [Show full text]