system checkout is merely links into it. If you want to store files
owned by e.g. root in this mode, you must run OSTree as root.
-The `bare-user` is a later addition that is like `bare` in that files
-are unpacked, but it can (and should generally) be created as
+The `bare-user` mode is a later addition that is like `bare` in that
+files are unpacked, but it can (and should generally) be created as
non-root. In this mode, extended metadata such as owner uid, gid, and
-extended attributes are stored but not actually applied.
+extended attributes are stored in extended attributes under the name
+`user.ostreemeta` but not actually applied.
The `bare-user` mode is useful for build systems that run as non-root
but want to generate root-owned content, as well as non-root container
systems.
-There is a variant to the `bare-user` mode called `bare-user-only`. Unlike
+The `bare-user-only` mode is a variant to the `bare-user` mode. Unlike
`bare-user`, neither ownership nor extended attributes are stored. These repos
are meant to to be checked out in user mode (with the `-U` flag), where this
-information is not applied anyway. The main advantage of `bare-user-only` is
-that repos can be stored on filesystems which do not support extended
-attributes, such as tmpfs.
+information is not applied anyway. Hence this mode may loose metadata.
+The main advantage of `bare-user-only` is that repos can be stored on
+filesystems which do not support extended attributes, such as tmpfs.
In contrast, the `archive` mode is designed for serving via plain
HTTP. Like tar files, it can be read/written by non-root users.