open_by_handle: fix name of directory in error messages
authorAmir Goldstein <amir73il@gmail.com>
Fri, 24 Aug 2018 04:27:55 +0000 (07:27 +0300)
committerEryu Guan <guaneryu@gmail.com>
Sun, 26 Aug 2018 12:55:28 +0000 (20:55 +0800)
dirname() modifies the string in dname, but we use that string
in error messages later on to print the test dir name.
Make another copy of test_dir for passing to dirname().

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
src/open_by_handle.c

index 36f2b07765e2675c7ae978948891570871d80005..4fdfacd7cab3a7d27f495925b7fcf29c38e65a16 100644 (file)
@@ -123,6 +123,7 @@ int main(int argc, char **argv)
        int     fd;
        int     ret = 0;
        int     failed = 0;
+       char    mname[PATH_MAX];
        char    dname[PATH_MAX];
        char    fname[PATH_MAX];
        char    fname2[PATH_MAX];
@@ -240,9 +241,10 @@ int main(int argc, char **argv)
         *    the dentry cache and the use of -ip flag combination would not
         *    allow testing decode of dir file handle in cold dcache scenario.
         */
+       strcpy(dname, test_dir);
        if (parent && !in_fd) {
-               strcpy(dname, test_dir);
-               mount_dir = dirname(dname);
+               strcpy(mname, test_dir);
+               mount_dir = dirname(mname);
                if (create)
                        ret = mkdir(test_dir, 0700);
                if (ret < 0 && errno != EEXIST) {