summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/smbsrv/smb_ktypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/smbsrv/smb_ktypes.h')
-rw-r--r--usr/src/uts/common/smbsrv/smb_ktypes.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/usr/src/uts/common/smbsrv/smb_ktypes.h b/usr/src/uts/common/smbsrv/smb_ktypes.h
index 76def803ab..f871fe76b2 100644
--- a/usr/src/uts/common/smbsrv/smb_ktypes.h
+++ b/usr/src/uts/common/smbsrv/smb_ktypes.h
@@ -598,8 +598,9 @@ typedef struct smb_oplock {
*/
typedef struct smb_oplock_grant {
/* smb protocol-level state */
- uint32_t og_state; /* latest sent to client */
- uint32_t og_breaking; /* BREAK_TO... flags */
+ uint32_t og_state; /* what client has now */
+ uint32_t og_breakto; /* level breaking to */
+ boolean_t og_breaking;
uint16_t og_dialect; /* how to send breaks */
kcondvar_t og_ack_cv; /* Wait for ACK */
/* File-system level state */
@@ -614,7 +615,7 @@ typedef struct smb_oplock_grant {
typedef struct smb_lease {
list_node_t ls_lnd; /* sv_lease_ht */
- kmutex_t ls_mutex;
+ kmutex_t ls_mutex; /* for ls_refcnt */
smb_llist_t *ls_bucket;
struct smb_node *ls_node;
/*
@@ -623,10 +624,11 @@ typedef struct smb_lease {
*/
void *ls_oplock_ofile;
uint32_t ls_refcnt;
- uint32_t ls_state;
- uint32_t ls_breaking; /* BREAK_TO... flags */
+ uint32_t ls_state; /* what client has now */
+ uint32_t ls_breakto; /* level breaking to */
uint16_t ls_epoch;
uint16_t ls_version;
+ boolean_t ls_breaking;
kcondvar_t ls_ack_cv; /* Wait for ACK */
uint8_t ls_key[SMB_LEASE_KEY_SZ];
uint8_t ls_clnt[SMB_LEASE_KEY_SZ];