diff options
author | jmcp <James.McPherson@Sun.COM> | 2010-06-10 16:27:13 -0700 |
---|---|---|
committer | jmcp <James.McPherson@Sun.COM> | 2010-06-10 16:27:13 -0700 |
commit | bfbb13c994c87d0453ca6bb826470ec99a909992 (patch) | |
tree | ee27888ec698913e010e5b7b7bf487b6ce3f21f6 /usr/src/uts/common/nfs | |
parent | 44f92b7dbae22574cbeb46a120d108f45d9e2f29 (diff) | |
download | illumos-joyent-bfbb13c994c87d0453ca6bb826470ec99a909992.tar.gz |
backout 6930814: causes 6960023
Diffstat (limited to 'usr/src/uts/common/nfs')
-rw-r--r-- | usr/src/uts/common/nfs/export.h | 20 | ||||
-rw-r--r-- | usr/src/uts/common/nfs/nfs4_idmap_impl.h | 13 |
2 files changed, 15 insertions, 18 deletions
diff --git a/usr/src/uts/common/nfs/export.h b/usr/src/uts/common/nfs/export.h index 56d8e2b0de..5d6072c2f7 100644 --- a/usr/src/uts/common/nfs/export.h +++ b/usr/src/uts/common/nfs/export.h @@ -419,13 +419,7 @@ typedef struct treenode { /* Root of nfs pseudo namespace */ extern treenode_t *ns_root; -#define EXPTABLESIZE 256 - -struct exp_hash { - struct exportinfo *prev; /* ptr to the previous exportinfo */ - struct exportinfo *next; /* ptr to the next exportinfo */ - struct exportinfo **bckt; /* backpointer to the hash bucket */ -}; +#define EXPTABLESIZE 16 /* * A node associated with an export entry on the @@ -447,8 +441,7 @@ struct exportinfo { struct exportdata exi_export; fsid_t exi_fsid; struct fid exi_fid; - struct exp_hash fid_hash; - struct exp_hash path_hash; + struct exportinfo *exi_hash; struct treenode *exi_tree; fhandle_t exi_fh; krwlock_t exi_cache_lock; @@ -512,7 +505,6 @@ struct exp_visible { typedef struct exp_visible exp_visible_t; #define PSEUDO(exi) ((exi)->exi_export.ex_flags & EX_PSEUDO) -#define EXP_LINKED(exi) ((exi)->fid_hash.bckt != NULL) #define EQFSID(fsidp1, fsidp2) \ (((fsidp1)->val[0] == (fsidp2)->val[0]) && \ @@ -541,6 +533,7 @@ extern int nfsauth4_access(struct exportinfo *, vnode_t *, struct svc_req *); extern int nfsauth4_secinfo_access(struct exportinfo *, struct svc_req *, int, int); +extern int nfs_fhhash(fsid_t *, fid_t *); extern int nfs_fhbcmp(char *, char *, int); extern int nfs_exportinit(void); extern void nfs_exportfini(void); @@ -562,7 +555,8 @@ extern struct exportinfo *nfs_vptoexi(vnode_t *, vnode_t *, cred_t *, int *, extern int nfs_check_vpexi(vnode_t *, vnode_t *, cred_t *, struct exportinfo **); extern void export_link(struct exportinfo *); -extern void export_unlink(struct exportinfo *); +extern int export_unlink(fsid_t *, fid_t *, vnode_t *, + struct exportinfo **); extern vnode_t *untraverse(vnode_t *); extern int vn_is_nfs_reparse(vnode_t *, cred_t *); extern int client_is_downrev(struct svc_req *); @@ -579,8 +573,8 @@ extern int nfs_visible_inode(struct exportinfo *, ino64_t, int *); extern int has_visible(struct exportinfo *, vnode_t *); extern void free_visible(struct exp_visible *); extern int nfs_exported(struct exportinfo *, vnode_t *); -extern struct exportinfo *pseudo_exportfs(vnode_t *, fid_t *, - struct exp_visible *, struct exportdata *); +extern int pseudo_exportfs(vnode_t *, struct exp_visible *, + struct exportdata *, struct exportinfo **); extern int vop_fid_pseudo(vnode_t *, fid_t *fidp); extern int nfs4_vget_pseudo(struct exportinfo *, vnode_t **, fid_t *); /* diff --git a/usr/src/uts/common/nfs/nfs4_idmap_impl.h b/usr/src/uts/common/nfs/nfs4_idmap_impl.h index f0f166688d..344e98213a 100644 --- a/usr/src/uts/common/nfs/nfs4_idmap_impl.h +++ b/usr/src/uts/common/nfs/nfs4_idmap_impl.h @@ -2,8 +2,9 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License (the "License"). - * You may not use this file except in compliance with the License. + * Common Development and Distribution License, Version 1.0 only + * (the "License"). You may not use this file except in compliance + * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -19,15 +20,17 @@ * CDDL HEADER END */ /* - * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. */ #ifndef _NFS4_IDMAP_IMPL_H #define _NFS4_IDMAP_IMPL_H +#pragma ident "%Z%%M% %I% %E% SMI" + #include <sys/list.h> #include <sys/door.h> -#include <sys/pkp_hash.h> /* * This is a private header file. Applications should not directly include @@ -41,7 +44,7 @@ extern "C" { /* * Cache Entry Definitions */ -#define NFSID_CACHE_ANCHORS PKP_HASH_SIZE +#define NFSID_CACHE_ANCHORS 256 typedef struct nfsidmap { struct nfsidmap *id_chain[2]; /* must be first */ |