summaryrefslogtreecommitdiff
path: root/usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c')
-rw-r--r--usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c b/usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c
index 0d03e6b815..45351b2a02 100644
--- a/usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c
+++ b/usr/src/cmd/mdb/common/modules/smbsrv/smbsrv.c
@@ -22,6 +22,7 @@
/*
* Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2019 Nexenta by DDN, Inc. All rights reserved.
+ * Copyright 2021 RackTop Systems, Inc.
*/
#include <mdb/mdb_modapi.h>
@@ -2142,10 +2143,13 @@ smbsrv_leases_dcmd(uintptr_t addr, uint_t flags, int argc,
typedef struct mdb_smb_lease {
struct smb_node *ls_node;
uint32_t ls_refcnt;
+ uint32_t ls_state;
uint16_t ls_epoch;
uint8_t ls_key[SMB_LEASE_KEY_SZ];
} mdb_smb_lease_t;
+static const mdb_bitmask_t oplock_bits[];
+
static int
smblease_dcmd(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
{
@@ -2178,6 +2182,8 @@ smblease_dcmd(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
mdb_printf("SMB Node: %p\n", ls->ls_node);
mdb_printf("Refcount: %u\n", ls->ls_refcnt);
mdb_printf("Epoch: %u\n", ls->ls_epoch);
+ mdb_printf("State: 0x%x <%b>\n",
+ ls->ls_state, ls->ls_state, oplock_bits);
mdb_printf("Key: [");
for (i = 0; i < SMB_LEASE_KEY_SZ; i++) {
@@ -2190,12 +2196,15 @@ smblease_dcmd(uintptr_t addr, uint_t flags, int argc, const mdb_arg_t *argv)
if (DCMD_HDRSPEC(flags))
mdb_printf(
"%<b>%<u>"
- "%-?s "
- "%-?s "
- "%-?s%</u>%</b>\n",
- "LEASE", "SMB NODE", "KEY");
+ "%-?s %-?s %-?s %-?s"
+ "%</u>%</b>\n",
+ "LEASE", "SMB NODE", "STATE", "KEY");
+
+ mdb_printf("%?p ", addr);
+ mdb_printf("%-?p ", ls->ls_node);
+ mdb_printf("%#-?x ", ls->ls_state);
- mdb_printf("%?p %-p [", addr, ls->ls_node);
+ mdb_printf("[");
for (i = 0; i < 8; i++) {
mdb_printf(" %02x", ls->ls_key[i] & 0xFF);
}