diff options
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 10 | ||||
-rw-r--r-- | source3/include/smb.h | 14 |
2 files changed, 23 insertions, 1 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 1a1f8bef69e..ceea97bf56c 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -6899,7 +6899,15 @@ void release_file_oplock(files_struct *fsp); bool remove_oplock(files_struct *fsp); bool downgrade_oplock(files_struct *fsp); void reply_to_oplock_break_requests(files_struct *fsp); -void release_level_2_oplocks_on_change(files_struct *fsp); +void process_oplock_async_level2_break_message(struct messaging_context *msg_ctx, + void *private_data, + uint32_t msg_type, + struct server_id src, + DATA_BLOB *data); +void contend_level2_oplocks_begin(files_struct *fsp, + enum level2_contention_type type); +void contend_level2_oplocks_end(files_struct *fsp, + enum level2_contention_type type); void share_mode_entry_to_message(char *msg, const struct share_mode_entry *e); void message_to_share_mode_entry(struct share_mode_entry *e, char *msg); bool init_oplocks(struct messaging_context *msg_ctx); diff --git a/source3/include/smb.h b/source3/include/smb.h index 96cd3b7d853..557489f211e 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -1695,6 +1695,16 @@ struct kernel_oplocks { void *private_data; }; +enum level2_contention_type { + LEVEL2_CONTEND_ALLOC_SHRINK, + LEVEL2_CONTEND_ALLOC_GROW, + LEVEL2_CONTEND_SET_FILE_LEN, + LEVEL2_CONTEND_FILL_SPARSE, + LEVEL2_CONTEND_WRITE, + LEVEL2_CONTEND_WINDOWS_BRL, + LEVEL2_CONTEND_POSIX_BRL +}; + /* if a kernel does support oplocks then a structure of the following typee is used to describe how to interact with the kernel */ struct kernel_oplocks_ops { @@ -1702,6 +1712,10 @@ struct kernel_oplocks_ops { files_struct *fsp, int oplock_type); void (*release_oplock)(struct kernel_oplocks *ctx, files_struct *fsp, int oplock_type); + void (*contend_level2_oplocks_begin)(files_struct *fsp, + enum level2_contention_type type); + void (*contend_level2_oplocks_end)(files_struct *fsp, + enum level2_contention_type type); }; #include "smb_macros.h" |