Add a function to sys/nlm/nlm_prot_impl.c that returns a unique
lock sysid to be used for non-nlm remote locking. This is required for the experimental nfsv4 server, so that it can acquire byte range locks correctly on behalf of nfsv4 clients. Reviewed by: dfr Approved by: kib (mentor)
This commit is contained in:
parent
77979532cf
commit
bf4995d98d
@ -210,6 +210,11 @@ struct vop_reclaim_args;
|
||||
extern int nlm_advlock(struct vop_advlock_args *ap);
|
||||
extern int nlm_reclaim(struct vop_reclaim_args *ap);
|
||||
|
||||
/*
|
||||
* Acquire the next sysid for remote locks not handled by the NLM.
|
||||
*/
|
||||
extern uint32_t nlm_acquire_next_sysid(void);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -834,6 +834,20 @@ nlm_create_host(const char* caller_name)
|
||||
return (host);
|
||||
}
|
||||
|
||||
/*
|
||||
* Acquire the next sysid for remote locks not handled by the NLM.
|
||||
*/
|
||||
uint32_t
|
||||
nlm_acquire_next_sysid(void)
|
||||
{
|
||||
uint32_t next_sysid;
|
||||
|
||||
mtx_lock(&nlm_global_lock);
|
||||
next_sysid = nlm_next_sysid++;
|
||||
mtx_unlock(&nlm_global_lock);
|
||||
return (next_sysid);
|
||||
}
|
||||
|
||||
/*
|
||||
* Return non-zero if the address parts of the two sockaddrs are the
|
||||
* same.
|
||||
|
Loading…
x
Reference in New Issue
Block a user