summaryrefslogtreecommitdiff
path: root/usr/src/cmd
diff options
context:
space:
mode:
authorThomas Keiser <thomas.keiser@nexenta.com>2013-04-24 14:31:29 -0400
committerGordon Ross <gwr@nexenta.com>2015-02-12 23:50:09 -0500
commit3b13a1ef7511135ec0c75b5f94de8075454efd79 (patch)
tree70a49fa4055bba1caa17c67fddd04f8c798d1233 /usr/src/cmd
parentd0fcb88af333aa48dd2b958f3681f1b597b924cc (diff)
downloadillumos-gate-3b13a1ef7511135ec0c75b5f94de8075454efd79.tar.gz
5322 tree connect from Windows 7 fails
Reviewed by: Gordon Ross <gwr@nexenta.com> Reviewed by: Bayard Bell <bayard.bell@nexenta.com> Approved by: Dan McDonald <danmcd@omniti.com>
Diffstat (limited to 'usr/src/cmd')
-rw-r--r--usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c30
1 files changed, 9 insertions, 21 deletions
diff --git a/usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c b/usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c
index 83ffae0634..eaa381cc47 100644
--- a/usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c
+++ b/usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c
@@ -688,9 +688,12 @@ static const smb_exp_t smb_session_exp[] =
{ SMB_OPT_REQUEST,
offsetof(smb_session_t, s_req_list.sl_list),
"smbreq", "smb_request"},
- { SMB_OPT_USER | SMB_OPT_TREE | SMB_OPT_OFILE | SMB_OPT_ODIR,
+ { SMB_OPT_USER,
offsetof(smb_session_t, s_user_list.ll_list),
"smbuser", "smb_user"},
+ { SMB_OPT_TREE | SMB_OPT_OFILE | SMB_OPT_ODIR,
+ offsetof(smb_session_t, s_tree_list.ll_list),
+ "smbtree", "smb_tree"},
{ 0, 0, NULL, NULL}
};
@@ -963,17 +966,6 @@ static const char *smb_user_state[SMB_USER_STATE_SENTINEL] =
"LOGGED_OFF"
};
-/*
- * List of objects that can be expanded under a user structure.
- */
-static const smb_exp_t smb_user_exp[] =
-{
- { SMB_OPT_TREE | SMB_OPT_OFILE | SMB_OPT_ODIR,
- offsetof(smb_user_t, u_tree_list.ll_list),
- "smbtree", "smb_tree"},
- { 0, 0, NULL, NULL}
-};
-
static void
smb_dcmd_user_help(void)
{
@@ -983,17 +975,13 @@ smb_dcmd_user_help(void)
mdb_printf("%<b>OPTIONS%</b>\n");
(void) mdb_inc_indent(2);
mdb_printf(
- "-v\tDisplay verbose smb_user information\n"
- "-d\tDisplay the list of smb_odirs attached\n"
- "-f\tDisplay the list of smb_ofiles attached\n"
- "-t\tDisplay the list of smb_trees attached\n");
+ "-v\tDisplay verbose smb_user information\n");
}
static int
smb_dcmd_user(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
{
uint_t opts;
- ulong_t indent = 0;
if (smb_dcmd_getopt(&opts, argc, argv))
return (DCMD_USAGE);
@@ -1009,8 +997,6 @@ smb_dcmd_user(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
smb_user_t *user;
char *account;
- indent = SMB_DCMD_INDENT;
-
user = mdb_alloc(sizeof (*user), UM_SLEEP | UM_GC);
if (mdb_vread(user, sizeof (*user), addr) == -1) {
mdb_warn("failed to read smb_user at %p", addr);
@@ -1058,8 +1044,6 @@ smb_dcmd_user(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
account);
}
}
- if (smb_obj_expand(addr, opts, smb_user_exp, indent))
- return (DCMD_ERR);
return (DCMD_OK);
}
@@ -1217,6 +1201,8 @@ smb_dcmd_odir(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
addr);
mdb_printf("State: %d (%s)\n", od->d_state, state);
mdb_printf("SID: %u\n", od->d_odid);
+ mdb_printf("User: %p\n", od->d_user);
+ mdb_printf("Tree: %p\n", od->d_tree);
mdb_printf("Reference Count: %d\n", od->d_refcnt);
mdb_printf("Pattern: %s\n", od->d_pattern);
mdb_printf("SMB Node: %p\n\n", od->d_dnode);
@@ -1292,6 +1278,8 @@ smb_dcmd_ofile(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
((of->f_flags & SMB_OFLAGS_LLF_POS_VALID) ?
"Valid" : "Invalid"));
mdb_printf("Flags: 0x%08x\n", of->f_flags);
+ mdb_printf("User: %p\n", of->f_user);
+ mdb_printf("Tree: %p\n", of->f_tree);
mdb_printf("Credential: %p\n\n", of->f_cr);
} else {
if (DCMD_HDRSPEC(flags))