summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-04-14 20:39:14 +0200
committerVolker Lendecke <vl@samba.org>2009-04-16 15:07:06 +0200
commit32a36e470333abae2745e27074a24ab54777b41e (patch)
tree48c56c9ea94b63dd69b19d0ce348dda4a0bb679c /source3/include
parentea3a022ca3ed97f0ac3f16536832e8ec43683f8c (diff)
downloadsamba-32a36e470333abae2745e27074a24ab54777b41e.tar.gz
samba-32a36e470333abae2745e27074a24ab54777b41e.tar.bz2
samba-32a36e470333abae2745e27074a24ab54777b41e.zip
Add notify_onelevel.tdb
This optimizes non-recursive notifys. For non-recursive notifies we can use a per-directory file-id indexed notify record. This matters for the Windows Explorer and IIS cases which do not use recursive notifies. In these cases, we do not have to shuffle around the whole notify record on every change. For the cluster case, this improves correctness of the notifies, ctdb only distributes the tdb seqnum once a second, so we can lose notifies.
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 25e81fde11..07e04edc3b 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -6554,6 +6554,11 @@ NTSTATUS notify_add(struct notify_context *notify, struct notify_entry *e0,
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);