TDIR
err = renameat2(0, TDIR "/fs1/a", 0, TDIR "/fs1/b", RENAME_EXCHANGE);
err = stat(TDIR "/fs1/b", &b);
if (!ASSERT_OK(err, "stat(" TDIR "/fs1/b)"))
err = access(TDIR "/fs1/b/1", F_OK);
if (!ASSERT_OK(err, "access(" TDIR "/fs1/b/1)"))
err = stat(TDIR "/fs1/c", &c);
if (!ASSERT_OK(err, "stat(" TDIR "/fs1/map)"))
err = renameat2(0, TDIR "/fs1/c", 0, TDIR "/fs1/b", RENAME_EXCHANGE);
err = stat(TDIR "/fs1/b", &b);
if (!ASSERT_OK(err, "stat(" TDIR "/fs1/b)"))
err = access(TDIR "/fs1/c/1", F_OK);
if (!ASSERT_OK(err, "access(" TDIR "/fs1/c/1)"))
err = renameat2(0, TDIR "/fs1/b", 0, TDIR "/fs1/a", RENAME_NOREPLACE);
err = access(TDIR "/fs1/b", F_OK);
if (!ASSERT_OK(err, "access(" TDIR "/fs1/b)"))
umount(TDIR "/fs1");
umount(TDIR "/fs2");
rmdir(TDIR "/fs1");
rmdir(TDIR "/fs2");
umount(TDIR);
rmdir(TDIR);
err = mkdir(TDIR, 0777);
if ((err && errno != EEXIST) && !ASSERT_OK(err, "mkdir " TDIR))
err = mount("none", TDIR, "tmpfs", 0, NULL);
err = mkdir(TDIR "/fs1", 0777);
if (!ASSERT_OK(err, "mkdir " TDIR "/fs1"))
err = mkdir(TDIR "/fs2", 0777);
if (!ASSERT_OK(err, "mkdir " TDIR "/fs2"))
err = mount("bpf", TDIR "/fs1", "bpf", 0, NULL);
if (!ASSERT_OK(err, "mount bpffs " TDIR "/fs1"))
err = mount("bpf", TDIR "/fs2", "bpf", 0, NULL);
if (!ASSERT_OK(err, "mount bpffs " TDIR "/fs2"))
err = read_iter(TDIR "/fs1/maps.debug");
if (!ASSERT_OK(err, "reading " TDIR "/fs1/maps.debug"))
err = read_iter(TDIR "/fs2/progs.debug");
if (!ASSERT_OK(err, "reading " TDIR "/fs2/progs.debug"))
err = mkdir(TDIR "/fs1/a", 0777);
if (!ASSERT_OK(err, "creating " TDIR "/fs1/a"))
err = mkdir(TDIR "/fs1/a/1", 0777);
if (!ASSERT_OK(err, "creating " TDIR "/fs1/a/1"))
err = mkdir(TDIR "/fs1/b", 0777);
if (!ASSERT_OK(err, "creating " TDIR "/fs1/b"))
err = bpf_obj_pin(map, TDIR "/fs1/c");
err = stat(TDIR "/fs1/a", &a);
if (!ASSERT_OK(err, "stat(" TDIR "/fs1/a)"))