diff options
author | Joshua M. Clulow <josh@sysmgr.org> | 2015-10-06 12:01:59 -0700 |
---|---|---|
committer | Robert Mustacchi <rm@joyent.com> | 2015-10-09 12:27:38 -0700 |
commit | aab04418a72c0a29040a5da7eec08efe19dbef04 (patch) | |
tree | efa170b8b0088648499892530e9c4079a361deed /usr/src/lib/libzfs/common/libzfs_diff.c | |
parent | 9ce6e318fecae800270f382ed76162508c5d525b (diff) | |
download | illumos-gate-aab04418a72c0a29040a5da7eec08efe19dbef04.tar.gz |
6268 zfs diff confused by moving a file to another directory
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Justin Gibbs <gibbs@scsiguy.com>
Approved by: Dan McDonald <danmcd@omniti.com>
Diffstat (limited to 'usr/src/lib/libzfs/common/libzfs_diff.c')
-rw-r--r-- | usr/src/lib/libzfs/common/libzfs_diff.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/usr/src/lib/libzfs/common/libzfs_diff.c b/usr/src/lib/libzfs/common/libzfs_diff.c index 0d04c976fe..716a101d46 100644 --- a/usr/src/lib/libzfs/common/libzfs_diff.c +++ b/usr/src/lib/libzfs/common/libzfs_diff.c @@ -22,6 +22,7 @@ /* * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2015 Nexenta Systems, Inc. All rights reserved. + * Copyright 2015 Joyent, Inc. */ /* @@ -54,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; @@ -254,7 +246,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; @@ -315,7 +306,6 @@ write_inuse_diffs_one(FILE *fp, differ_info_t *di, uint64_t dobj) 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) { @@ -326,7 +316,7 @@ write_inuse_diffs_one(FILE *fp, differ_info_t *di, uint64_t dobj) 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); |