diff options
author | Volker Lendecke <vl@samba.org> | 2012-04-04 14:51:43 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2012-04-17 10:21:02 +0200 |
commit | 843432d56f9114a4d0d3021a772953dc5a1193dd (patch) | |
tree | 2b180ce533bc337e56e09dee1e2fe8a5c7070f4c /source3/smbd/proto.h | |
parent | ae691cd9cc5f00a1d4465d233cdd9f5b580b2c39 (diff) | |
download | samba-843432d56f9114a4d0d3021a772953dc5a1193dd.tar.gz samba-843432d56f9114a4d0d3021a772953dc5a1193dd.tar.bz2 samba-843432d56f9114a4d0d3021a772953dc5a1193dd.zip |
s3: New notify implementation
From notify_internal.c:
/*
* The notify database is split up into two databases: One
* relatively static index db and the real notify db with the
* volatile entries.
*/
This change is necessary to make notify scale better in a cluster
Diffstat (limited to 'source3/smbd/proto.h')
-rw-r--r-- | source3/smbd/proto.h | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h index a770c3a2a4..4300ee3bca 100644 --- a/source3/smbd/proto.h +++ b/source3/smbd/proto.h @@ -540,19 +540,30 @@ NTSTATUS inotify_watch(struct sys_notify_context *ctx, struct notify_context *notify_init(TALLOC_CTX *mem_ctx, struct messaging_context *messaging_ctx, struct event_context *ev); -bool notify_internal_parent_init(TALLOC_CTX *mem_ctx); -NTSTATUS notify_add(struct notify_context *notify, connection_struct *conn, - struct notify_entry *e0, +NTSTATUS notify_add(struct notify_context *notify, + const char *path, uint32_t filter, uint32_t subdir_filter, void (*callback)(void *, const struct notify_event *), void *private_data); NTSTATUS notify_remove(struct notify_context *notify, void *private_data); -NTSTATUS notify_remove_onelevel(struct notify_context *notify, - const struct file_id *fid, - void *private_data); -void notify_onelevel(struct notify_context *notify, uint32_t action, - uint32_t filter, struct file_id fid, const char *name); void notify_trigger(struct notify_context *notify, uint32_t action, uint32_t filter, const char *path); +void notify_walk_idx(struct notify_context *notify, + void (*fn)(const char *path, + uint32_t *vnns, size_t num_vnns, + void *private_data), + void *private_data); +void notify_walk(struct notify_context *notify, + void (*fn)(const char *path, + struct notify_db_entry *entries, + size_t num_entries, + time_t deleted_time, void *private_data), + void *private_data); +void notify_cleanup(struct notify_context *notify); + +struct tevent_req *notify_cluster_proxy_send( + TALLOC_CTX *mem_ctx, struct tevent_context *ev, + struct notify_context *notify); +int notify_cluster_proxy_recv(struct tevent_req *req); /* The following definitions come from smbd/ntquotas.c */ |