chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fstab-generator: avoid mangling of mount source string
[elogind.git]
/
src
/
fstab-generator
/
fstab-generator.c
diff --git
a/src/fstab-generator/fstab-generator.c
b/src/fstab-generator/fstab-generator.c
index 86cbc45b78d1738db2ff3b2030389e35b2fd45c3..d9ba3e32e2a9475e54304508948a2f01af6d6fc9 100644
(file)
--- a/
src/fstab-generator/fstab-generator.c
+++ b/
src/fstab-generator/fstab-generator.c
@@
-117,6
+117,7
@@
static int add_swap(const char *what, struct mntent *me) {
fputs("# Automatically generated by systemd-fstab-generator\n\n"
"[Unit]\n"
fputs("# Automatically generated by systemd-fstab-generator\n\n"
"[Unit]\n"
+ "SourcePath=/etc/fstab\n"
"DefaultDependencies=no\n"
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
"Before=" SPECIAL_UMOUNT_TARGET "\n", f);
"DefaultDependencies=no\n"
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
"Before=" SPECIAL_UMOUNT_TARGET "\n", f);
@@
-150,7
+151,7
@@
static int add_swap(const char *what, struct mntent *me) {
goto finish;
}
goto finish;
}
- mkdir_parents(lnk, 0755);
+ mkdir_parents
_label
(lnk, 0755);
if (symlink(unit, lnk) < 0) {
log_error("Failed to create symlink: %m");
r = -errno;
if (symlink(unit, lnk) < 0) {
log_error("Failed to create symlink: %m");
r = -errno;
@@
-173,7
+174,7
@@
static int add_swap(const char *what, struct mntent *me) {
goto finish;
}
goto finish;
}
- mkdir_parents(lnk, 0755);
+ mkdir_parents
_label
(lnk, 0755);
if (symlink(unit, lnk) < 0) {
log_error("Failed to create symlink: %m");
r = -errno;
if (symlink(unit, lnk) < 0) {
log_error("Failed to create symlink: %m");
r = -errno;
@@
-274,6
+275,7
@@
static int add_mount(const char *what, const char *where, struct mntent *me) {
fputs("# Automatically generated by systemd-fstab-generator\n\n"
"[Unit]\n"
fputs("# Automatically generated by systemd-fstab-generator\n\n"
"[Unit]\n"
+ "SourcePath=/etc/fstab\n"
"DefaultDependencies=no\n", f);
if (!path_equal(where, "/"))
"DefaultDependencies=no\n", f);
if (!path_equal(where, "/"))
@@
-324,7
+326,7
@@
static int add_mount(const char *what, const char *where, struct mntent *me) {
goto finish;
}
goto finish;
}
- mkdir_parents(lnk, 0755);
+ mkdir_parents
_label
(lnk, 0755);
if (symlink(unit, lnk) < 0) {
log_error("Failed to create symlink: %m");
r = -errno;
if (symlink(unit, lnk) < 0) {
log_error("Failed to create symlink: %m");
r = -errno;
@@
-350,7
+352,7
@@
static int add_mount(const char *what, const char *where, struct mntent *me) {
goto finish;
}
goto finish;
}
- mkdir_parents(lnk, 0755);
+ mkdir_parents
_label
(lnk, 0755);
if (symlink(unit, lnk) < 0) {
log_error("Failed to creat symlink: %m");
r = -errno;
if (symlink(unit, lnk) < 0) {
log_error("Failed to creat symlink: %m");
r = -errno;
@@
-386,6
+388,7
@@
static int add_mount(const char *what, const char *where, struct mntent *me) {
fprintf(f,
"# Automatically generated by systemd-fstab-generator\n\n"
"[Unit]\n"
fprintf(f,
"# Automatically generated by systemd-fstab-generator\n\n"
"[Unit]\n"
+ "SourcePath=/etc/fstab\n"
"DefaultDependencies=no\n"
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
"Before=" SPECIAL_UMOUNT_TARGET " %s\n"
"DefaultDependencies=no\n"
"Conflicts=" SPECIAL_UMOUNT_TARGET "\n"
"Before=" SPECIAL_UMOUNT_TARGET " %s\n"
@@
-410,7
+413,7
@@
static int add_mount(const char *what, const char *where, struct mntent *me) {
goto finish;
}
goto finish;
}
- mkdir_parents(lnk, 0755);
+ mkdir_parents
_label
(lnk, 0755);
if (symlink(automount_unit, lnk) < 0) {
log_error("Failed to create symlink: %m");
r = -errno;
if (symlink(automount_unit, lnk) < 0) {
log_error("Failed to create symlink: %m");
r = -errno;
@@
-467,9
+470,6
@@
static int parse_fstab(void) {
goto finish;
}
goto finish;
}
- if (is_path(what))
- path_kill_slashes(what);
-
if (is_path(where))
path_kill_slashes(where);
if (is_path(where))
path_kill_slashes(where);
@@
-495,8
+495,8
@@
finish:
int main(int argc, char *argv[]) {
int r;
int main(int argc, char *argv[]) {
int r;
- if (argc >
2
) {
- log_error("This program takes
on
e or no arguments.");
+ if (argc >
1 && argc != 4
) {
+ log_error("This program takes
thre
e or no arguments.");
return EXIT_FAILURE;
}
return EXIT_FAILURE;
}
@@
-507,8
+507,6
@@
int main(int argc, char *argv[]) {
log_parse_environment();
log_open();
log_parse_environment();
log_open();
- log_set_max_level(LOG_DEBUG);
-
umask(0022);
r = parse_fstab();
umask(0022);
r = parse_fstab();