From 9e3441733c3deba16a9dffbba0e5ab095b858f95 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Wed, 9 Mar 2016 12:06:52 +0800 Subject: [PATCH] ceph_test_libcephfs: shutdown without closing file/dir Signed-off-by: Yan, Zheng --- src/test/libcephfs/test.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/test/libcephfs/test.cc b/src/test/libcephfs/test.cc index 464c5a96645..06061a6f24e 100644 --- a/src/test/libcephfs/test.cc +++ b/src/test/libcephfs/test.cc @@ -1321,3 +1321,26 @@ TEST(LibCephFS, GetOsdAddr) { ceph_shutdown(cmount); } + +TEST(LibCephFS, OpenNoClose) { + struct ceph_mount_info *cmount; + ASSERT_EQ(ceph_create(&cmount, NULL), 0); + ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0); + ASSERT_EQ(0, ceph_conf_parse_env(cmount, NULL)); + ASSERT_EQ(ceph_mount(cmount, "/"), 0); + + pid_t mypid = getpid(); + char str_buf[256]; + sprintf(str_buf, "open_no_close_dir%d", mypid); + ASSERT_EQ(0, ceph_mkdirs(cmount, str_buf, 0777)); + + struct ceph_dir_result *ls_dir = NULL; + ASSERT_EQ(ceph_opendir(cmount, str_buf, &ls_dir), 0); + + sprintf(str_buf, "open_no_close_file%d", mypid); + int fd = ceph_open(cmount, str_buf, O_RDONLY|O_CREAT, 0666); + ASSERT_LT(0, fd); + + // shutdown should force close opened file/dir + ceph_shutdown(cmount); +} -- 2.39.5