Print this page
NEX-16818 Add fksmbcl development tool
NEX-17264 SMB client test tp_smbutil_013 fails after NEX-14666
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Matt Barden <matt.barden@nexenta.com>
and: (fix ref leaks)
NEX-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-5665 SMB2 oplock leases
Reviewed by: Matt Barden <matt.barden@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
SMB-50 User-mode SMB server
Includes work by these authors:
Thomas Keiser <thomas.keiser@nexenta.com>
Albert Lee <trisk@nexenta.com>
@@ -8,11 +8,11 @@
* source. A copy of the CDDL is also available via the Internet at
* http://www.illumos.org/license/CDDL.
*/
/*
- * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
+ * Copyright 2017 Nexenta Systems, Inc. All rights reserved.
*/
/*
* rwlock(9f)
*/
@@ -21,11 +21,10 @@
#include <sys/rwlock.h>
#include <sys/errno.h>
#include <sys/debug.h>
#include <sys/param.h>
-#include <sys/synch32.h>
#include <sys/thread.h>
/* avoiding synch.h */
int rwlock_init(lwp_rwlock_t *, int, void *);
int rwlock_destroy(lwp_rwlock_t *);
@@ -70,10 +69,12 @@
rw_exit(krwlock_t *rwlp)
{
if (_rw_write_held(&rwlp->rw_lock)) {
ASSERT(rwlp->rw_owner == _curthread());
rwlp->rw_owner = _KTHREAD_INVALID;
+ } else {
+ ASSERT(_rw_read_held(&rwlp->rw_lock));
}
(void) rw_unlock(&rwlp->rw_lock);
}
int