File: btrfs-property.rst

package info (click to toggle)
btrfs-progs 6.16-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 20,504 kB
  • sloc: ansic: 126,181; sh: 7,642; python: 1,386; makefile: 900; asm: 296
file content (129 lines) | stat: -rw-r--r-- 3,210 bytes parent folder | download | duplicates (3)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
btrfs-property(8)
=================

SYNOPSIS
--------

**btrfs property** <subcommand> <args>

DESCRIPTION
-----------

**btrfs property** is used to get/set/list property for given filesystem object.
The object can be an inode (file or directory), subvolume or the whole
filesystem.

**btrfs property** provides an unified and user-friendly method to tune different
btrfs properties instead of using the traditional method like :manref:`chattr(1)` or
:manref:`lsattr(1)`.

Object types
^^^^^^^^^^^^

A property might apply to several object types so in some cases it's necessary
to specify that explicitly, however it's not needed in the most common case of
files and directories.

The subcommands take parameter *-t*, use first letter as a shortcut (*f/s/d/i*)
of the type:

- filesystem
- subvolume
- device
- inode (file or directory)

Inode properties
^^^^^^^^^^^^^^^^

compression
        compression algorithm set for an inode (it's not possible to set the
        compression level this way), possible values:

        - *lzo*
        - *zlib*
        - *zstd*
        - *no* or *none* - disable compression (equivalent to ``chattr +m``)
        - *""* (empty string) - set the default value

           .. note::
                This has changed in version 5.18 of btrfs-progs and
                requires kernel 5.14 or newer to work.

Subvolume properties
^^^^^^^^^^^^^^^^^^^^

ro
        read-only flag of subvolume: true or false. Please also see section *SUBVOLUME FLAGS*
        in :doc:`btrfs-subvolume` for possible implications regarding incremental send.

Filesystem properties
^^^^^^^^^^^^^^^^^^^^^

label
        label of the filesystem. For an unmounted filesystem, provide a path to a block
        device as object. For a mounted filesystem, specify a mount point.

SUBCOMMAND
----------

get [-t <type>] <object> [<name>]
        Read value of a property *name* of btrfs *object* of given *type*,
        empty *name* will read all of them

list [-t <type>] <object>
        List available properties with their descriptions for the given object.

.. _man-property-set:

set [-f] [-t <type>] <object> <name> <value>
        Set *value* of property *name* on a given btrfs object.

        ``Options``

        -f
                Force the change. Changing some properties may involve safety checks or
                additional changes that depend on the properties semantics.

EXAMPLES
--------

Set compression on a file:

.. code-block:: bash

   $ touch file1
   $ btrfs prop get file1
   [ empty output ]
   $ btrfs prop set file1 compression zstd
   $ btrfs prop get file1
   compression=zstd

Make a writeable subvolume read-only:

.. code-block:: bash

   $ btrfs subvol create subvol1
   [ fill subvol1 with data ]
   $ btrfs prop get subvol1
   ro=false
   $ btrfs prop set subvol1 ro true
   ro=true

EXIT STATUS
-----------

**btrfs property** returns a zero exit status if it succeeds. Non zero is
returned in case of failure.

AVAILABILITY
------------

**btrfs** is part of btrfs-progs.  Please refer to the documentation at
`https://btrfs.readthedocs.io <https://btrfs.readthedocs.io>`_.

SEE ALSO
--------

:doc:`mkfs.btrfs`,
:manref:`lsattr(1)`,
:manref:`chattr(1)`