diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2018-04-12 10:34:08 -0500 |
---|---|---|
committer | Eric Sandeen <sandeen@redhat.com> | 2018-04-12 10:34:08 -0500 |
commit | 55290cfc7c08e92489e9564145596c0b063217b4 (patch) | |
tree | b1abfbdc95314ddc99afa3d87b7804d8e48b8817 | |
parent | 99ea301818779ff663599d00610d6cee6a57738c (diff) | |
download | xfsprogs-dev-55290cfc7c08e92489e9564145596c0b063217b4.tar.gz |
xfs_scrub: only run ascii name checks if unicode name checker
Skip the ASCII name checks if the Unicode name checker is going to run,
since the latter covers everything that the former does.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
-rw-r--r-- | scrub/phase5.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/scrub/phase5.c b/scrub/phase5.c index e0e7e8c710..01038f7785 100644 --- a/scrub/phase5.c +++ b/scrub/phase5.c @@ -113,11 +113,11 @@ xfs_scrub_scan_dirents( dentry = readdir(dir); while (dentry) { - moveon = xfs_scrub_check_name(ctx, descr, _("directory"), - dentry->d_name); - if (!moveon) - break; - moveon = unicrash_check_dir_name(uc, descr, dentry); + if (uc) + moveon = unicrash_check_dir_name(uc, descr, dentry); + else + moveon = xfs_scrub_check_name(ctx, descr, + _("directory"), dentry->d_name); if (!moveon) break; dentry = readdir(dir); @@ -161,7 +161,7 @@ xfs_scrub_scan_fhandle_namespace_xattrs( char keybuf[XATTR_NAME_MAX + 1]; struct attrlist *attrlist = (struct attrlist *)attrbuf; struct attrlist_ent *ent; - struct unicrash *uc; + struct unicrash *uc = NULL; bool moveon = true; int i; int error; @@ -181,11 +181,13 @@ xfs_scrub_scan_fhandle_namespace_xattrs( ent = ATTR_ENTRY(attrlist, i); snprintf(keybuf, XATTR_NAME_MAX, "%s.%s", attr_ns->name, ent->a_name); - moveon = xfs_scrub_check_name(ctx, descr, - _("extended attribute"), keybuf); - if (!moveon) - goto out; - moveon = unicrash_check_xattr_name(uc, descr, keybuf); + if (uc) + moveon = unicrash_check_xattr_name(uc, descr, + keybuf); + else + moveon = xfs_scrub_check_name(ctx, descr, + _("extended attribute"), + keybuf); if (!moveon) goto out; } |