Print this page
NEX-3758 Support for remote stale lock detection
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
*** 17,27 ****
--- 17,32 ----
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
+
/*
+ * Copyright 2015 Nexenta Systems, Inc. All rights reserved.
+ */
+
+ /*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
* Copyright 2015 Joyent, Inc.
*/
*** 41,50 ****
--- 46,56 ----
#include <sys/cmn_err.h>
#include <sys/errno.h>
#include <sys/systm.h>
#include <sys/vnode.h>
#include <sys/share.h> /* just to get GETSYSID def */
+ #include <sys/time.h>
#ifdef __cplusplus
extern "C" {
#endif
*** 80,89 ****
--- 86,98 ----
int pvertex; /* index to proc vertex */
int l_status; /* status described below */
flk_nlm_status_t l_nlm_state; /* state of NLM server */
flk_callback_t *l_callbacks; /* callbacks, or NULL */
zoneid_t l_zoneid; /* zone of request */
+ hrtime_t l_blocker; /* time when this lock */
+ /* started to prevent other */
+ /* locks from being set */
file_t *l_ofd; /* OFD-style reference */
};
typedef struct lock_descriptor lock_descriptor_t;
*** 396,405 ****
--- 405,415 ----
(lock1)->l_start = (lock2)->l_start; \
(lock1)->l_end = (lock2)->l_end; \
(lock1)->l_flock = (lock2)->l_flock; \
(lock1)->l_zoneid = (lock2)->l_zoneid; \
(lock1)->pvertex = (lock2)->pvertex; \
+ (lock1)->l_blocker = (lock2)->l_blocker; \
}
/*
* Clustering
*/