Blame view

Documentation/filesystems/btrfs.txt 2.83 KB
709ac06a1   David Woodhouse   Btrfs: Add Docume...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
  
  	BTRFS
  	=====
  
  Btrfs is a new copy on write filesystem for Linux aimed at
  implementing advanced features while focusing on fault tolerance,
  repair and easy administration. Initially developed by Oracle, Btrfs
  is licensed under the GPL and open for contribution from anyone.
  
  Linux has a wealth of filesystems to choose from, but we are facing a
  number of challenges with scaling to the large storage subsystems that
  are becoming common in today's data centers. Filesystems need to scale
  in their ability to address and manage large storage, and also in
  their ability to detect, repair and tolerate errors in the data stored
  on disk.  Btrfs is under heavy development, and is not suitable for
  any uses other than benchmarking and review. The Btrfs disk format is
  not yet finalized.
  
  The main Btrfs features include:
  
      * Extent based file storage (2^64 max file size)
      * Space efficient packing of small files
      * Space efficient indexed directories
      * Dynamic inode allocation
      * Writable snapshots
      * Subvolumes (separate internal filesystem roots)
      * Object level mirroring and striping
      * Checksums on data and metadata (multiple algorithms available)
      * Compression
      * Integrated multiple device support, with several raid algorithms
      * Online filesystem check (not yet implemented)
      * Very fast offline filesystem check
      * Efficient incremental backup and FS mirroring (not yet implemented)
      * Online filesystem defragmentation
  
  
  
  	MAILING LIST
  	============
  
  There is a Btrfs mailing list hosted on vger.kernel.org. You can
  find details on how to subscribe here:
  
  http://vger.kernel.org/vger-lists.html#linux-btrfs
  
  Mailing list archives are available from gmane:
  
  http://dir.gmane.org/gmane.comp.file-systems.btrfs
  
  
  
  	IRC
  	===
  
  Discussion of Btrfs also occurs on the #btrfs channel of the Freenode
  IRC network.
  
  
  
  	UTILITIES
  	=========
  
  Userspace tools for creating and manipulating Btrfs file systems are
  available from the git repository at the following location:
b52f75a59   Arnd Hannemann   Fix URL of btrfs-...
65
66
   http://git.kernel.org/?p=linux/kernel/git/mason/btrfs-progs.git
   git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
709ac06a1   David Woodhouse   Btrfs: Add Docume...
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
  
  These include the following tools:
  
  mkfs.btrfs: create a filesystem
  
  btrfsctl: control program to create snapshots and subvolumes:
  
  	mount /dev/sda2 /mnt
  	btrfsctl -s new_subvol_name /mnt
  	btrfsctl -s snapshot_of_default /mnt/default
  	btrfsctl -s snapshot_of_new_subvol /mnt/new_subvol_name
  	btrfsctl -s snapshot_of_a_snapshot /mnt/snapshot_of_new_subvol
  	ls /mnt
  	default snapshot_of_a_snapshot snapshot_of_new_subvol
  	new_subvol_name snapshot_of_default
  
  	Snapshots and subvolumes cannot be deleted right now, but you can
  	rm -rf all the files and directories inside them.
  
  btrfsck: do a limited check of the FS extent trees.
  
  btrfs-debug-tree: print all of the FS metadata in text form.  Example:
  
  	btrfs-debug-tree /dev/sda2 >& big_output_file