FACTOID # 10: The total number of state executions in 2005 was 60: 19 in Texas and 41 elsewhere. The racial split was 19 Black and 41 White.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "XFS" also viewed:
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


XFS
Developer Silicon Graphics Inc.
Full name XFS
Introduced 1994 (IRIX v5.3)
Partition identifier
Structures
Directory contents B+ trees
File allocation extent based
Bad blocks
Limits
Max file size 9 exabytes
Max number of files
Max filename size 255 bytes
Max volume size 9 exabytes
Allowed characters in filenames All bytes except NUL
Features
Dates recorded Yes
Date range
Forks Yes (called extended attributes)
Attributes
File system permissions Yes
Transparent compression No
Transparent encryption No (provided at the block device level)
Supported operating systems IRIX, Linux, FreeBSD

XFS is a high-performance journaling file system created by Silicon Graphics for their IRIX operating system. A software developer is a programmer who is concerned with one or more facets of the software development process, a somewhat broader scope of computer programming. ... This article needs to be cleaned up to conform to a higher standard of quality. ... IRIX is a System V-based Unix Operating System with BSD extensions developed by Silicon Graphics (SGI) to run natively on their 32- and 64-bit MIPS architecture workstations and servers. ... In computer engineering, hard disk drive partitioning is the creation of logical divisions upon a hard disk that allows one to apply operating system-specific logical formatting. ... In computer science a B+ tree is a type of tree data structure. ... An exabyte (derived from the SI prefix exa-, and abbreviated as EB) is a unit of information or computer storage equal to approximately one quintillion bytes. ... A byte is commonly used as a unit of storage measurement in computers, regardless of the type of data being stored. ... An exabyte (derived from the SI prefix exa-, and abbreviated as EB) is a unit of information or computer storage equal to approximately one quintillion bytes. ... In computing, a fork is additional data associated with a file system object. ... Most modern file systems have methods of administering permissions or access rights to specific users and groups of users. ... Filesystem-level encryption, is a form of disk encryption where individual files or directories are encrypted by the file system, in contrast to full disk encryption where the entire partition or disk, where the file system resides, is encrypted. ... To meet Wikipedias quality standards, this article or section may require cleanup. ... IRIX is a System V-based Unix Operating System with BSD extensions developed by Silicon Graphics (SGI) to run natively on their 32- and 64-bit MIPS architecture workstations and servers. ... Linux (also known as GNU/Linux) is a Unix-like computer operating system. ... FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4. ... A journaling file system is a file system that logs changes to a journal (usually a circular log in a specially-allocated area) before actually writing them to the main file system. ... In computing, a file system is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. ... Silicon Graphics, Inc. ... IRIX is a System V-based Unix Operating System with BSD extensions developed by Silicon Graphics (SGI) to run natively on their 32- and 64-bit MIPS architecture workstations and servers. ... To meet Wikipedias quality standards, this article or section may require cleanup. ...


XFS has been merged into the mainline Linux 2.4 (as of 2.4.25, when Marcelo Tosatti judged it stable enough) and 2.6 kernels, making it almost universally available on Linux systems. Installation programs for the SuSE, Gentoo, Mandriva, Slackware, Zenwalk, Fedora, Ubuntu and Debian Linux distributions all offer XFS as a choice of filesystem. FreeBSD gained read-only support for XFS in December 2005 and in June 2006 experimental write support was introduced to FreeBSD-7.0-CURRENT. Linux (also known as GNU/Linux) is a Unix-like computer operating system. ... Marcelo Tosatti is a Linux kernel developer. ... SUSE (properly pronounced , but often pronounced /suzi/) is a major retail Linux distribution, produced in Germany. ... The Gentoo Linux operating system is a Linux distribution named after the Gentoo Penguin. ... Mandriva (merger of Mandrakesoft, Lycoris, and Conectiva) is a French software company, and creator of Mandriva Linux. ... Slackware was one of the earliest Linux distributions, and is the oldest distribution still being maintained. ... Zenwalk Linux (formerly Minislack) is Slackware Linux based Linux distribution that aims to be focused on Internet application, multimedia and programming tools. ... Fedora Core is an RPM-based Linux distribution, developed by the community-supported Fedora Project and sponsored by Red Hat. ... Ubuntu is a desktop Linux distribution, based on Debian GNU/Linux. ... Debian, organized by the Debian Project, is a widely used distribution of free software developed through the collaboration of volunteers from around the world. ... A Linux distribution or GNU/Linux distribution (or a distro) is a Unix-like operating system plus application software comprising the Linux kernel, the GNU operating system, assorted free software and sometimes proprietary software, all created by individuals, groups or organizations from around the world. ... FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4. ...

Contents

History

XFS is the oldest journaling file system available for UNIX systems, and has a mature, stable and well-debugged codebase. Development of XFS was started by Silicon Graphics, in 1993, with first deployment being seen on IRIX 5.3 in 1994. The filesystem was released under the GNU General Public License in May 2000, and ported to Linux, with the first distribution support appearing in 2001/2002. It is available in almost all Linux distributions today. A journaling file system is a file system that logs changes to a journal (usually a circular log in a specially-allocated area) before actually writing them to the main file system. ... Silicon Graphics, Inc. ... The GNU logo The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license, originally written by Richard Stallman for the GNU project. ...


Specifications

Capacity

XFS is a 64-bit journaling file system with guaranteed file system consistency. It supports a maximum file system size of 9 exabytes, though this is subject to block limits imposed by the host operating system. On 32-bit Linux systems, this limits the file and file system sizes to 16 terabytes. In computing, a 64-bit component is one in which data are processed or stored in 64-bit units (words). ... An exabyte (derived from the SI prefix exa-, and abbreviated as EB) is a unit of information or computer storage equal to approximately one quintillion bytes. ... 32-bit is a term applied to processors, and computer architectures which manipulate the address and data in 32-bit chunks. ... A terabyte (derived from the binary prefix tera-) is a measurement term for data storage capacity equal to 1024 gigabytes. ...


Journaling

XFS provides journaling for file system metadata, where file system updates are first written to a serial journal before the actual disk blocks are updated. The journal is a circular buffer of disk blocks that is never read in normal filesystem operation. It can be stored within the data section of the filesystem (an internal log), or on a separate device to minimise disk contention. On XFS the journal contains 'logical' entries that describe at a high level what operations are being performed, as opposed to other filesystems with 'physical' journals that store a copy of the blocks modified during each transaction. Journal updates are performed asynchronously to avoid incurring a performance penalty. In the event of a system crash, operations immediately prior to the crash can be redone using data in the journal, which allows XFS to guarantee file system consistency. Recovery is performed automatically at file system mount time, and the recovery speed is independent of the size of the file system. Where recently modified data has not been flushed to disk before a system crash, XFS ensures that any unwritten data blocks are zeroed on reboot, obviating any possible security issues arising from residual data. A journaling file system is a file system that logs changes to a journal (usually a circular log in a specially-allocated area) before actually writing them to the main file system. ...


Allocation groups

XFS filesystems are internally partitioned into allocation groups, which are equally sized linear regions within the file system. Files and directories can span allocation groups. Each allocation group manages its own inodes and free space separately, providing scalability and parallelism — multiple threads and processes can perform I/O operations on the same filesystem simultaneously. This architecture helps to optimise parallel I/O performance on multiprocessor or multicore systems, as metadata updates are also parellelisable. The internal partitioning provided by allocation groups can be especially beneficial when the file systems spans multiple physical devices, allowing for optimal usage of bandwidth of the underlying storage components. In computing, an inode is a data structure on a traditional Unix-style file system such as ext2. ...


Striped allocation

If an XFS filesystem is to be created on a RAID array, a stripe unit can be specified when the file system is created. This maximises throughput by ensuring that data allocations, inode allocations and the internal log (journal) are aligned with the stripe unit. In computing, a redundant array of inexpensive disks, also later known as redundant array of independent disks (commonly abbreviated RAID) is a system which uses multiple hard drives to share or replicate data among the drives. ... In computing, an inode is a data structure on a traditional Unix-style file system such as ext2. ...


Extent based allocation

Space in files stored on XFS filesystems is managed in variable length extents, as opposed to the fixed size blocks used by many other file systems. Many file systems manage space allocation with block oriented bitmaps — in XFS these structures are replaced with an extent oriented structure consisting of a pair of B+ trees for each filesystem allocation group (AG). One of the B+ trees is indexed by the length of the free extents, while the other is indexed by the starting block of the free extents. This dual indexing scheme allows for highly efficient searching for appropriate free extents for file system operations. In computer science a B+ tree is a type of tree data structure. ... In computer science a B+ tree is a type of tree data structure. ...


Variable block sizes

The file system block size represents the minimum allocation unit. XFS allows file systems to be created with block sizes ranging between 512 bytes and 64 Kilobytes, allowing the file system to be tuned for the expected use. Where a large amount of small files is to be expected, a small block size would typically be used, but for a system dealing mainly with large files, a larger block size can provide a performance advantage.


Delayed allocation

Main article: Delayed allocation

XFS makes use of lazy evaluation techniques for file allocation. When a file is written to the buffer cache, rather than allocating extents for the data, XFS simply reserves the appropriate number of file system blocks for the data held in memory. The actual block allocation occurs only when the data is finally flushed to disk. This improves the chance that the file will be written in a contiguous group of blocks, reducing fragmentation problems and increasing performance. Delayed allocation is a feature of computer file systems, currently only implemented in SGI XFS. (Reiser4 has a similar feature called allocate-on-flush.) When file data is written, the appropriate amount of disk space is subtracted from free-space counter but actual blocks (or extents) are not allocated. ... In computer storage, there are three related uses of the term fragmentation: external fragmentation, internal fragmentation, and data fragmentation, all related to storage. ...


Sparse files

XFS provides a 64-bit sparse address space for each file, which allows both for very large file sizes, and for holes within files for which no disk space is allocated. As the file system used an extent map for each file, the file allocation map size is kept small. Where the size of the allocation map is too large for it to be stored within the inode, the map is moved into a B+ tree which allows for rapid access to data anywhere in the 64-bit address space provided for the file. In computing, an inode is a data structure on a traditional Unix-style file system such as ext2. ... In computer science a B+ tree is a type of tree data structure. ...


Extended attributes

XFS provides multiple data streams for files through its implementation of extended attributes. These allow the storage of a number of name/value pairs attached to a file. Names are null terminated printable character strings of up to 256 bytes in length, while their associated values can contain up to 64Kb of binary data. They are further subdivided into two namespaces, root and user. Extended attributes stored in the root namespace can be modified only by the superuser, while attributes in the user namespace can be modified by any user with permission to write to the file. Extended attributes can be attached to any kind of XFS inode, including symbolic links, device nodes, directories, etc. The attr program can be used to manipulate extended attributes from the command line, and the xfsdump and xfsrestore utilities are aware of them and will back up and restore their contents. Most other backup systems are not extended attribute aware.


Direct I/O

For applications requiring high throughput to disk, XFS provides a direct I/O implementation that allows non-cached I/O directly to userspace. Data is transferred between the application's buffer and the disk using DMA, which allows access to the full I/O bandwidth of the underlying disk devices. DMA can refer to: In computing: Direct memory access (most common) Digital Media Adapter (multimedia player / HTPC) Dynamic memory allocation Document Management Alliance DMA Design - The former name of Rockstar North, a game developer Danish Medical Association Digital media adapter - In consumer electronics, for use between computers and other equipment...


Guaranteed rate I/O

The XFS guaranteed rate I/O system provides an API that allows applications to reserve bandwidth to the filesystem. XFS will dynamically calculate the performance available from the underlying storage devices, and will reserve bandwidth sufficient to meet the requested performance for a specified time. This feature is unique to the XFS file system. Guarantees can be hard or soft, representing a trade off between reliability and performance, though XFS will only allow hard guarantees if the underlying storage subsystem supports it. This facility is most used by real-time applications, such as video-streaming.


DMAPI

XFS implents the DMAPI interface to support Hierarchical Storage Management. While this functionality has been ported to the Linux implementations of XFS, it is not yet a part of the mainline Linux kernel source. Hierarchical Storage Management (HSM) is a data storage technique that automatically moves data between high-cost and low-cost storage media. ...


Snapshots

XFS does not provide direct support for snapshots, as it expects the snapshot process to be implemented by the volume manager. Taking a snapshot of an XFS filesystem involves freezing I/O to the filesystem using the xfs_freeze utility, having the volume manager perform the actual snapshot, and then unfreezing I/O to resume normal operations. The snapshot can then be mounted read-only for backup purposes. XFS releases on IRIX incorporated an integrated volume manager called XLV. This volume manager has not been ported to Linux. In recent Linux kernels, the xfs_freeze functionality is implemented in the VFS layer, and happens automatically when the Volume Manager's snapshot functionality is invoked.


Online defragmentation

Although the extent based nature of XFS and the delayed allocation strategy it used significantly improves the file system's resilience to fragmentation problems, XFS provides a filesystem defragmentation utility (xfs_fsr) that can defragment a mounted and active XFS filesystem. Note that xfs_fsr is usually part of xfsdump package, not xfsprogs.


Online resizing

XFS provides the xfs_growfs utility to perform online resizing of XFS file systems. XFS filesystems can only be grown, not shrunk, and growing the filesystem requires there to be remaining unallocated space on the device holding the filesystem. This feature is typically used in conjunction with volume management, as otherwise the partition holding the filesystem will need enlarging separately.


Native backup/restore utilities

XFS provides the xfsdump and xfsrestore utilities to aid in backup of data held on XFS file systems. The xfsdump utility backs up an XFS filesystem in inode order, and in contrast to traditional UNIX file systems which must be unmounted before dumping to guarantee a consistent dump image, XFS file systems can be dumped while the file system is in use. XFS dumps and restores are also resumable, and can be interrupted without difficulty. The multi-threaded operation of xfsdump provides high performance of backup operations by splitting the dump into multiple streams, which can be sent to different dump destinations. The multi stream capabilities have not been fully ported to Linux yet, however. In computing, an inode is a data structure on a traditional Unix-style file system such as ext2. ...


Disadvantages

  • There is currently no way to shrink an XFS filesystem in-place (although a patch talked about in September 2005 on SGI's XFS email list mentions planned support for shrinking XFS filesystems: Iustin Pop (September 5, 2005). Where/how to submit for review patch for shrink support?.).
  • Older versions of XFS suffered from out-of-order write hazards, which can result in problems such as files being appended to during a crash gaining a tail of garbage on the next mount [citation needed].
  • Versions of the GRUB bootloader prior to 0.91 do not support XFS.
  • Recovering deleted files from an XFS filesystem is almost impossible (though this can be an advantage, too)
  • For Windows/Linux dual boot systems, one disadvantage of XFS is that it cannot be read from Windows, unlike the older ext2/3 Linux filesystems and ReiserFS (using a plugin for Total Commander).
  • On the Linux XFS implementations, compatibility issues between 64-bit and 32-bit environments exist.
  • XFS journals metadata. This means that if you pull the power cord out of your computer, when you turn it on again, XFS will be in a consistent state (i.e. you will see your directories, and be able to list the files they contain). This is an advantage compared to not being able to see anything. However, you will probably have lost the data from files that were open at the time of pulling out the power cord because XFS does not journal data changes. SGI (August 28, 2006). XFS FAQ. XFS is not alone here - some other file systems (such as JFS) also journal metadata changes and not data changes because it's a good strategy when mediating between speed requirements and safety.
  • Since Linux went to 4K stacks, XFS has become unstable, randomly causing stack overflows, causing system hangs, especially when chained with additional storage technologies such as software raid (md), Logical Volume Management (lvm), and/or export via nfs. Do a search on: 4k stacks xfs before deciding to use it on a production system. Google search for: 4k stacks xfs.

GNU GRUB (GRUB for short) is a multiboot boot-loader software package from the GNU project. ... Dual booting or dual-booting is the act of installing multiple operating systems on a computer, and choosing which one when it boots. ... Total Commander is a shareware Orthodox File Manager (OFM) for Windows. ... Linux (also known as GNU/Linux) is a Unix-like computer operating system. ... JFS is a journaling filesystem created by IBM. It is available under an open source license. ...

See also

The following lists identify, characterise and link to fuller information on computer file systems. ... In computing, a file system is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. ...

External links


  Results from FactBites:
 
SGI - Developer Central Open Source | XFS (1635 words)
XFS is a full 64-bit filesystem, and thus is capable of handling filesystems as large as a million terabytes.
XFS also continues to evolve to match the capabilities of the hardware it is being deployed on.
XFS was the first filesystem to implement delayed space allocation for buffered writes, supports direct I/O, provides an optional realtime allocator, and is able to align allocations based on the geometry of the underlying storage device.
XFS - Wikipedia, the free encyclopedia (1860 words)
XFS is the oldest journaling file system available for UNIX systems, and has a mature, stable and well-debugged codebase.
XFS provides journaling for file system metadata, where file system updates are first written to a serial journal before the actual disk blocks are updated.
XFS does not provide direct support for snapshots, as it expects the snapshot process to be implemented by the volume manager.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m