s3/smbd: add and use retry_open() instead of defer_open() in two places
authorRalph Boehme <slow@samba.org>
Tue, 7 Mar 2017 14:03:12 +0000 (15:03 +0100)
committerKarolin Seeger <kseeger@samba.org>
Tue, 14 Mar 2017 11:49:24 +0000 (12:49 +0100)
commit621abab71fd9457bc6586b7e7111e465cdbbe369
tree4625418a29b7eb8830d19912ee6bf87b106558a3
parentad3217c9d9a73dbf23a1f01fd5ded51f32eceee6
s3/smbd: add and use retry_open() instead of defer_open() in two places

Add a new function that does an immediate open rescheduling.

The first deferred open this commit changes was never scheduled, as the
scheduling relies on a timeout of the watch on the sharemode lock.

This has been broken since the commits in

$ git log --reverse -p -10 8283fd0e0090ed12b0b12d5acb550642d621b026

That patchset added the dbwrap watch record logic to defer_open() and
removed the timers.

I'm doing this mainly to untangle the defer_open() logic which is
complicated by the lck arg.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=7537

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
(cherry picked from commit beaba6222848fb4ff4392b2247c5be1094b1d65b)
source3/smbd/open.c