mirror of
https://github.com/systemd/systemd.git
synced 2024-11-02 02:21:44 +03:00
Merge pull request #2939 from bjne/read_only_bindmount
dont create bind-mount target when it exists
This commit is contained in:
commit
2685875eb1
@ -438,21 +438,22 @@ static int mount_bind(const char *dest, CustomMount *m) {
|
||||
r = mkdir_parents_label(where, 0755);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to make parents of %s: %m", where);
|
||||
|
||||
/* Create the mount point. Any non-directory file can be
|
||||
* mounted on any non-directory file (regular, fifo, socket,
|
||||
* char, block).
|
||||
*/
|
||||
if (S_ISDIR(source_st.st_mode))
|
||||
r = mkdir_label(where, 0755);
|
||||
else
|
||||
r = touch(where);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to create mount point %s: %m", where);
|
||||
|
||||
} else {
|
||||
return log_error_errno(errno, "Failed to stat %s: %m", where);
|
||||
}
|
||||
|
||||
/* Create the mount point. Any non-directory file can be
|
||||
* mounted on any non-directory file (regular, fifo, socket,
|
||||
* char, block).
|
||||
*/
|
||||
if (S_ISDIR(source_st.st_mode))
|
||||
r = mkdir_label(where, 0755);
|
||||
else
|
||||
r = touch(where);
|
||||
if (r < 0 && r != -EEXIST)
|
||||
return log_error_errno(r, "Failed to create mount point %s: %m", where);
|
||||
|
||||
if (mount(m->source, where, NULL, mount_flags, mount_opts) < 0)
|
||||
return log_error_errno(errno, "mount(%s) failed: %m", where);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user