fs-util,label: introduce symlink_atomic_full() and symlink_atomic_full_label()

These new functions optionally create symlink of relative path.
This commit is contained in:
Yu Watanabe
2022-09-14 06:22:09 +09:00
parent 449375d2ad
commit 590d81002b
4 changed files with 20 additions and 6 deletions
+2 -2
View File
@@ -61,7 +61,7 @@ int symlink_label(const char *old_path, const char *new_path) {
return mac_smack_fix(new_path, 0);
}
int symlink_atomic_label(const char *from, const char *to) {
int symlink_atomic_full_label(const char *from, const char *to, bool make_relative) {
int r;
assert(from);
@@ -71,7 +71,7 @@ int symlink_atomic_label(const char *from, const char *to) {
if (r < 0)
return r;
r = symlink_atomic(from, to);
r = symlink_atomic_full(from, to, make_relative);
mac_selinux_create_file_clear();
if (r < 0)
+4 -1
View File
@@ -17,7 +17,10 @@ static inline int label_fix(const char *path, LabelFixFlags flags) {
}
int symlink_label(const char *old_path, const char *new_path);
int symlink_atomic_label(const char *from, const char *to);
int symlink_atomic_full_label(const char *from, const char *to, bool make_relative);
static inline int symlink_atomic_label(const char *from, const char *to) {
return symlink_atomic_full_label(from, to, false);
}
int mknod_label(const char *pathname, mode_t mode, dev_t dev);
int btrfs_subvol_make_label(const char *path);