Commit 911bb682 authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Pavel Emelyanov

test: mntns_deleted -- Add bindmount for regular files

Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
Acked-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent d27f5391
...@@ -29,9 +29,13 @@ TEST_OPTION(dirname, string, "directory name", 1); ...@@ -29,9 +29,13 @@ TEST_OPTION(dirname, string, "directory name", 1);
#define TEST_DIR_SRC "test-src" #define TEST_DIR_SRC "test-src"
#define TEST_DIR_DST "test-dst" #define TEST_DIR_DST "test-dst"
#define TEST_FILE_SRC "mntns-deleted-src"
#define TEST_FILE_DST "mntns-deleted-dst"
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
char path_src[PATH_MAX], path_dst[PATH_MAX]; char path_src[PATH_MAX], path_dst[PATH_MAX];
int fd1, fd2;
test_init(argc, argv); test_init(argc, argv);
...@@ -51,22 +55,47 @@ int main(int argc, char *argv[]) ...@@ -51,22 +55,47 @@ int main(int argc, char *argv[])
rmdir(path_src); rmdir(path_src);
rmdir(path_dst); rmdir(path_dst);
unlink(TEST_FILE_SRC);
unlink(TEST_FILE_DST);
if (mkdir(path_src, 0700) || if (mkdir(path_src, 0700) ||
mkdir(path_dst, 0700)) { mkdir(path_dst, 0700)) {
err("mkdir"); err("mkdir");
return 1; return 1;
} }
if ((fd1 = open(TEST_FILE_SRC, O_WRONLY | O_CREAT | O_TRUNC) < 0)) {
err("touching %s", TEST_FILE_SRC);
return 1;
}
close(fd1);
if ((fd2 = open(TEST_FILE_DST, O_WRONLY | O_CREAT | O_TRUNC) < 0)) {
err("touching %s", TEST_FILE_DST);
return 1;
}
close(fd2);
if (mount(path_src, path_dst, NULL, MS_BIND | MS_MGC_VAL, NULL)) { if (mount(path_src, path_dst, NULL, MS_BIND | MS_MGC_VAL, NULL)) {
err("mount %s -> %s", path_src, path_dst); err("mount %s -> %s", path_src, path_dst);
return 1; return 1;
} }
if (mount(TEST_FILE_SRC, TEST_FILE_DST, NULL, MS_BIND | MS_MGC_VAL, NULL)) {
err("mount %s -> %s", TEST_FILE_SRC, TEST_FILE_DST);
return 1;
}
if (rmdir(path_src)) { if (rmdir(path_src)) {
err("rmdir %s", path_src); err("rmdir %s", path_src);
return 1; return 1;
} }
if (unlink(TEST_FILE_SRC)) {
err("unlink %s", TEST_FILE_SRC);
return 1;
}
test_daemon(); test_daemon();
test_waitsig(); test_waitsig();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment