]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
notify: Fix ordering of events in notifyd
authorShilpa Krishnareddy <skrishnareddy@panzura.com>
Tue, 25 Apr 2017 14:59:45 +0000 (16:59 +0200)
committerKarolin Seeger <kseeger@samba.org>
Fri, 28 Apr 2017 07:10:12 +0000 (09:10 +0200)
In notifyd_trigger_parser() while initializing notify_event_msg values from
notify_trigger_msg, 'when' value is ignored. So the smbd process does not get
correct 'when' value and this is causing issues during qsort in
notify_marshall_changes(). Because of this issue, smb2.notify.dir test was
failing.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=12756
Signed-off-by: Shilpa Krishnareddy <skrishnareddy@panzura.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Wed Apr 26 17:02:58 CEST 2017 on sn-devel-144

(cherry picked from commit 5701880655c8a82b6d533c7c2e131cc803e7570b)

source3/smbd/notifyd/notifyd.c

index 69d30f79cf0ad9d4c9a9fddcc733dbb40c72df95..d7d1428d32051f0da781def7afac12cb9d444b0d 100644 (file)
@@ -732,7 +732,8 @@ static void notifyd_trigger_parser(TDB_DATA key, TDB_DATA data,
 
 {
        struct notifyd_trigger_state *tstate = private_data;
-       struct notify_event_msg msg = { .action = tstate->msg->action };
+       struct notify_event_msg msg = { .action = tstate->msg->action,
+                                       .when = tstate->msg->when };
        struct iovec iov[2];
        size_t path_len = key.dsize;
        struct notifyd_instance *instances = NULL;