summaryrefslogtreecommitdiffstats
path: root/src/shared/btrfs-util.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-12-25 03:19:19 +0100
committerLennart Poettering <lennart@poettering.net>2014-12-25 03:19:19 +0100
commit10f9c75519671e7c7ab8993b54fe22da7c2d0c38 (patch)
tree78777a123c0261f892af164581884f8a07756203 /src/shared/btrfs-util.h
parentimport: prefer usec_t over time_t (diff)
downloadsystemd-10f9c75519671e7c7ab8993b54fe22da7c2d0c38.tar.xz
systemd-10f9c75519671e7c7ab8993b54fe22da7c2d0c38.zip
machined: beef up machined image listing with creation/modification times of subvolumes
We make use of the btrfs subvol crtime for this, and for gpt images of a manually managed xattr, if we can.
Diffstat (limited to 'src/shared/btrfs-util.h')
-rw-r--r--src/shared/btrfs-util.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/shared/btrfs-util.h b/src/shared/btrfs-util.h
index c8f798b6a6..f51f37a659 100644
--- a/src/shared/btrfs-util.h
+++ b/src/shared/btrfs-util.h
@@ -22,13 +22,28 @@
#include <stdbool.h>
#include <sys/types.h>
+#include "time-util.h"
+
+typedef struct BtrfsSubvolInfo {
+ uint64_t subvol_id;
+ usec_t otime;
+
+ sd_id128_t uuid;
+ sd_id128_t parent_uuid;
+
+ bool read_only;
+} BtrfsSubvolInfo;
+
int btrfs_is_snapshot(int fd);
int btrfs_subvol_make(const char *path);
int btrfs_subvol_remove(const char *path);
int btrfs_subvol_snapshot(const char *old_path, const char *new_path, bool read_only, bool fallback_copy);
-int btrfs_subvol_read_only(const char *path, bool b);
-int btrfs_subvol_is_read_only_fd(int fd);
+
+int btrfs_subvol_set_read_only(const char *path, bool b);
+int btrfs_subvol_get_read_only_fd(int fd);
+int btrfs_subvol_get_id_fd(int fd, uint64_t *ret);
+int btrfs_subvol_get_info_fd(int fd, BtrfsSubvolInfo *info);
int btrfs_reflink(int infd, int outfd);