Systemd/src/import
Lennart Poettering adc6f43b14 copy: don't synthesize a 'user.crtime_usec' xattr on copy unless explicitly requested
Previously, when we'd copy an individual file we'd synthesize a
user.crtime_usec xattr with the source's creation time if we can
determine it. As the creation/birth time was until recently not
queriable form userspace this effectively just propagated the same xattr
on the source to the same xattr on the destination. However, current
kernels now allow to query the birthtime using statx() and we do make
use of that now. Which means that suddenly we started synthesizing these
xattrs much more regularly.

Doing this actually does make sense, but only in very few cases:
not for the typical regular files we copy, but certainly when dealing
with disk images. Hence, let's keep this kind of propagation, but let's
make it a flag and default to off. Then turn it on whenever we deal with
disk images, and leave it off otherwise.

This is particularly relevant as overlayfs combining a real fs, and a
tmpfs on top will result in EOPNOTSUPP when it is attempted to open a
file with xattrs for writing, as tmpfs does not support xattrs, and
hence the copy-up cannot work. Hence, let's avoid synthesizing this
needlessly, to increase compat with overlayfs.
2019-03-01 14:11:07 +01:00
..
curl-util.c curl-util: fix use after free 2019-02-06 16:19:02 +01:00
curl-util.h import: use structured initializers 2018-11-24 03:53:18 +09:00
export-raw.c copy: don't synthesize a 'user.crtime_usec' xattr on copy unless explicitly requested 2019-03-01 14:11:07 +01:00
export-raw.h tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
export-tar.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
export-tar.h tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
export.c import: prefer fd_get_path() over readlink_malloc() where applicable 2018-11-26 18:09:01 +01:00
import-common.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
import-common.h import: rerrange tarball/fs imports that have a single top-level directory containing the OS tree 2018-11-26 18:09:01 +01:00
import-compress.c Make bzip2 an optional dependency for systemd-importd 2018-09-25 10:58:09 +02:00
import-compress.h Make bzip2 an optional dependency for systemd-importd 2018-09-25 10:58:09 +02:00
import-fs.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
import-pubring.gpg import: add image verification using gpg 2015-01-21 04:03:54 +01:00
import-raw.c copy: don't synthesize a 'user.crtime_usec' xattr on copy unless explicitly requested 2019-03-01 14:11:07 +01:00
import-raw.h tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
import-tar.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
import-tar.h tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
import.c import: prefer fd_get_path() over readlink_malloc() where applicable 2018-11-26 18:09:01 +01:00
importd.c importd: immediately validate whether fd is of right type when receiving it 2018-11-26 18:09:01 +01:00
meson.build machine: add support for importing containers from plain directories 2018-11-26 18:09:01 +01:00
org.freedesktop.import1.conf machine: add support for importing containers from plain directories 2018-11-26 18:09:01 +01:00
org.freedesktop.import1.policy meson: drop unnecessary "transformation" of policy files 2018-02-16 13:01:12 +01:00
org.freedesktop.import1.service Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
pull-common.c tree-wide: invoke rlimit_nofile_safe() before various exec{v,ve,l}() invocations 2018-12-01 12:50:45 +01:00
pull-common.h tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
pull-job.c pull: fix invalid error check 2019-02-06 16:18:01 +01:00
pull-job.h import: drop logic of setting up /var/lib/machines as btrfs loopback mount 2018-11-26 18:09:01 +01:00
pull-raw.c copy: don't synthesize a 'user.crtime_usec' xattr on copy unless explicitly requested 2019-03-01 14:11:07 +01:00
pull-raw.h tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
pull-tar.c util-lib: split out all temporary file related calls into tmpfiles-util.c 2018-12-02 13:22:29 +01:00
pull-tar.h tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
pull.c coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
qcow2-util.c tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
qcow2-util.h tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
test-qcow2.c tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00