Author: avg
Date: Mon Oct 30 10:29:31 2017
New Revision: 325148
URL: https://svnweb.freebsd.org/changeset/base/325148

Log:
  MFC r324346: MFV r316931: 6268 zfs diff confused by moving a file to another 
directory

Modified:
  stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
==============================================================================
--- stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c  Mon Oct 
30 10:29:26 2017        (r325147)
+++ stable/10/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c  Mon Oct 
30 10:29:31 2017        (r325148)
@@ -55,15 +55,6 @@
 #define        ZDIFF_REMOVED   '-'
 #define        ZDIFF_RENAMED   'R'
 
-static boolean_t
-do_name_cmp(const char *fpath, const char *tpath)
-{
-       char *fname, *tname;
-       fname = strrchr(fpath, '/') + 1;
-       tname = strrchr(tpath, '/') + 1;
-       return (strcmp(fname, tname) == 0);
-}
-
 typedef struct differ_info {
        zfs_handle_t *zhp;
        char *fromsnap;
@@ -262,7 +253,6 @@ static int
 write_inuse_diffs_one(FILE *fp, differ_info_t *di, uint64_t dobj)
 {
        struct zfs_stat fsb, tsb;
-       boolean_t same_name;
        mode_t fmode, tmode;
        char fobjname[MAXPATHLEN], tobjname[MAXPATHLEN];
        int fobjerr, tobjerr;
@@ -323,7 +313,6 @@ write_inuse_diffs_one(FILE *fp, differ_info_t *di, uin
 
        if (fmode != tmode && fsb.zs_gen == tsb.zs_gen)
                tsb.zs_gen++;   /* Force a generational difference */
-       same_name = do_name_cmp(fobjname, tobjname);
 
        /* Simple modification or no change */
        if (fsb.zs_gen == tsb.zs_gen) {
@@ -334,7 +323,7 @@ write_inuse_diffs_one(FILE *fp, differ_info_t *di, uin
                if (change) {
                        print_link_change(fp, di, change,
                            change > 0 ? fobjname : tobjname, &tsb);
-               } else if (same_name) {
+               } else if (strcmp(fobjname, tobjname) == 0) {
                        print_file(fp, di, ZDIFF_MODIFIED, fobjname, &tsb);
                } else {
                        print_rename(fp, di, fobjname, tobjname, &tsb);
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to