User`s guide
18
• Converting an existing ext2, ext3, or ext4 root file system to btrfs does not carry over the associated
security contexts that are stored as part of a file's extended attributes. With SELinux enabled and set
to enforcing mode, you might experience many permission denied errors after reboot, and the system
might be unbootable. To avoid this problem, enforce automatic file system relabeling to run at bootup
time. To trigger automatic relabeling, create an empty file named .autorelabel (for example, by
using touch) in the file system's root directory before rebooting the system after the initial conversion.
The presence of this file instruct SELinux to recreate the security attributes for all files on the file
system. If you forget to do this and rebooting fails, either temporarily disable SELinux completely by
adding selinux=0 to the kernel boot parameters, or disable enforcing of the SELinux policy by adding
enforcing=0. (Bug ID 13806043)
• Commands such as du can show inconsistent results for file sizes in a btrfs file system when the number
of bytes that is under delayed allocation is changing. (Bug ID 13096268)
• The copy-on-write nature of btrfs means that every operation on the file system initially requires disk
space. It is possible that you cannot execute any operation on a disk that has no space left; even
removing a file might not be possible. The workaround is to run sync before retrying the operation. If this
does not help, remount the file system with the -o nodatacow option and delete some files to free up
space. See https://btrfs.wiki.kernel.org/index.php/ENOSPC.
• Btrfs has a limit of 237 or fewer hard links to a file from a single directory. The exact limit depends on
the number of characters in the file name. The limit is 237 for a file with up to eight characters in its file
name; the limit is lower for longer file names. Attempting to create more than this number of links results
in the error Too many links. You can create more hard links to the same file from another directory.
Although the limitation of the number of hard links in a single directory has been increased to 65535,
the version of mkfs.btrfs that is provided in the btrfs-progs package does not yet support the
compatibility flag for this feature. (Bug ID 16278563)
• The -c option to the btrfs qgroup limit command is redundant as the quota limit is always
enforced after compression. (Bug ID 16557528)
• If you run the btrfs quota enable command on a non-empty file system, any existing files do not
count toward space usage. Removing these files can cause usage reports to display negative numbers
and the file system to be inaccessible. The workaround is to enable quotas immediately after creating
the file system. If you have already written data to the file system, it is too late to enable quotas. (Bug ID
16569350)
• The btrfs quota rescan command is not currently implemented. The command does not perform a
rescan and returns without displaying any message. (Bug ID 16569350)
• When you overwrite data in a file, starting somewhere in the middle of the file, the overwritten space is
counted twice in the space usage numbers that btrfs qgroup show displays. (Bug ID 16609467)
• If you run btrfsck --init-csum-tree on a file system and then run a simple btrfsck on the same
file system, the command displays a Backref mismatch error that was not previously present. (Bug ID
16972799)
• Btrfs tracks the devices on which you create btrfs file systems. If you subsequently reuse these devices
in a file system other than btrfs, you might see error messages such as the following when performing a
device scan or creating a RAID-1 file system, for example:
ERROR: device scan failed '/dev/cciss/c0d0p1' - Invalid argument
You can safely ignore these errors. (Bug ID 17087097)