Skip to content

Commit

Permalink
Linux does not HAVE_DNLC
Browse files Browse the repository at this point in the history
Since Linux does not have the Directory Name Lookup Cache, we don't need
the code to manage it.

Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Tim Chase <[email protected]>
Reviewed-by: George Melikov <[email protected]>
Reviewed-by: Richard Elling <[email protected]>
Signed-off-by: Matthew Ahrens <[email protected]>
Closes #8031
  • Loading branch information
ahrens authored and behlendorf committed Oct 17, 2018
1 parent bfcb82c commit 5fbf85c
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 66 deletions.
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ cppcheck:
cppcheck --quiet --force --error-exitcode=2 --inline-suppr \
--suppressions-list=.github/suppressions.txt \
-UHAVE_SSE2 -UHAVE_AVX512F -UHAVE_UIO_ZEROCOPY \
-UHAVE_DNLC ${top_srcdir}; \
${top_srcdir}; \
else \
echo "skipping cppcheck because cppcheck is not installed"; \
fi
Expand Down
37 changes: 0 additions & 37 deletions module/zfs/zfs_dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,6 @@ zfs_match_find(zfsvfs_t *zfsvfs, znode_t *dzp, char *name, matchtype_t mt,

*zoid = ZFS_DIRENT_OBJ(*zoid);

#ifdef HAVE_DNLC
if (error == ENOENT && update)
dnlc_update(ZTOI(dzp), name, DNLC_NO_VNODE);
#endif /* HAVE_DNLC */

return (error);
}

Expand Down Expand Up @@ -151,9 +146,6 @@ zfs_dirent_lock(zfs_dirlock_t **dlpp, znode_t *dzp, char *name, znode_t **zpp,
boolean_t update;
matchtype_t mt = 0;
uint64_t zoid;
#ifdef HAVE_DNLC
vnode_t *vp = NULL;
#endif /* HAVE_DNLC */
int error = 0;
int cmpflags;

Expand Down Expand Up @@ -320,29 +312,8 @@ zfs_dirent_lock(zfs_dirlock_t **dlpp, znode_t *dzp, char *name, znode_t **zpp,
if (error == 0)
error = (zoid == 0 ? SET_ERROR(ENOENT) : 0);
} else {
#ifdef HAVE_DNLC
if (update)
vp = dnlc_lookup(ZTOI(dzp), name);
if (vp == DNLC_NO_VNODE) {
iput(vp);
error = SET_ERROR(ENOENT);
} else if (vp) {
if (flag & ZNEW) {
zfs_dirent_unlock(dl);
iput(vp);
return (SET_ERROR(EEXIST));
}
*dlpp = dl;
*zpp = VTOZ(vp);
return (0);
} else {
error = zfs_match_find(zfsvfs, dzp, name, mt,
update, direntflags, realpnp, &zoid);
}
#else
error = zfs_match_find(zfsvfs, dzp, name, mt,
update, direntflags, realpnp, &zoid);
#endif /* HAVE_DNLC */
}
if (error) {
if (error != ENOENT || (flag & ZEXISTS)) {
Expand All @@ -359,10 +330,6 @@ zfs_dirent_lock(zfs_dirlock_t **dlpp, znode_t *dzp, char *name, znode_t **zpp,
zfs_dirent_unlock(dl);
return (error);
}
#ifdef HAVE_DNLC
if (!(flag & ZXATTR) && update)
dnlc_update(ZTOI(dzp), name, ZTOI(*zpp));
#endif /* HAVE_DNLC */
}

*dlpp = dl;
Expand Down Expand Up @@ -901,10 +868,6 @@ zfs_link_destroy(zfs_dirlock_t *dl, znode_t *zp, dmu_tx_t *tx, int flag,
int count = 0;
int error;

#ifdef HAVE_DNLC
dnlc_remove(ZTOI(dzp), dl->dl_name);
#endif /* HAVE_DNLC */

if (!(flag & ZRENAMING)) {
mutex_enter(&zp->z_lock);

Expand Down
28 changes: 0 additions & 28 deletions module/zfs/zfs_vnops.c
Original file line number Diff line number Diff line change
Expand Up @@ -1208,27 +1208,6 @@ zfs_lookup(struct inode *dip, char *nm, struct inode **ipp, int flags,
return (0);
}
return (error);
#ifdef HAVE_DNLC
} else if (!zdp->z_zfsvfs->z_norm &&
(zdp->z_zfsvfs->z_case == ZFS_CASE_SENSITIVE)) {

vnode_t *tvp = dnlc_lookup(dvp, nm);

if (tvp) {
error = zfs_fastaccesschk_execute(zdp, cr);
if (error) {
iput(tvp);
return (error);
}
if (tvp == DNLC_NO_VNODE) {
iput(tvp);
return (SET_ERROR(ENOENT));
} else {
*vpp = tvp;
return (specvp_check(vpp, cr));
}
}
#endif /* HAVE_DNLC */
}
}

Expand Down Expand Up @@ -1765,13 +1744,6 @@ zfs_remove(struct inode *dip, char *name, cred_t *cr, int flags)
goto out;
}

#ifdef HAVE_DNLC
if (realnmp)
dnlc_remove(dvp, realnmp->pn_buf);
else
dnlc_remove(dvp, name);
#endif /* HAVE_DNLC */

mutex_enter(&zp->z_lock);
may_delete_now = atomic_read(&ip->i_count) == 1 && !(zp->z_is_mapped);
mutex_exit(&zp->z_lock);
Expand Down

0 comments on commit 5fbf85c

Please sign in to comment.