From f4092ecec722d7e2c04f3049630975af9e96bc07 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 30 Apr 2010 21:03:20 -0700 Subject: Plumb the SMB2 front end into the blocking lock backend. Metze, you'll probably be happier with this work as it doesn't abuse tevent in the way you dislike. This is a first cut at the code, which will need lots of testing but I'm hoping this will give people an idea of where I'm going with this. Jeremy. --- source3/include/locking.h | 7 +++++++ source3/include/proto.h | 6 ++++++ 2 files changed, 13 insertions(+) (limited to 'source3/include') diff --git a/source3/include/locking.h b/source3/include/locking.h index 1833ba3f80..ee59cad643 100644 --- a/source3/include/locking.h +++ b/source3/include/locking.h @@ -96,4 +96,11 @@ struct blocking_lock_record { void *blr_private; /* Implementation specific. */ }; +struct smbd_lock_element { + uint32_t smbpid; + enum brl_type brltype; + uint64_t offset; + uint64_t count; +}; + #endif /* _LOCKING_H_ */ diff --git a/source3/include/proto.h b/source3/include/proto.h index 929d1ecb32..dabfa15257 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -6101,6 +6101,12 @@ void smbd_aio_complete_mid(uint64_t mid); /* The following definitions come from smbd/blocking.c */ +void brl_timeout_fn(struct event_context *event_ctx, + struct timed_event *te, + struct timeval now, + void *private_data); +struct timeval timeval_brl_min(const struct timeval *tv1, + const struct timeval *tv2); void process_blocking_lock_queue(void); bool push_blocking_lock_request( struct byte_range_lock *br_lck, struct smb_request *req, -- cgit