[PATCH] use tdbbackup, not shutil.copy, skip 'upgrade' of privileges.ldb
Andrew Bartlett
abartlet at samba.org
Sun Feb 17 02:09:51 MST 2013
On Sun, 2013-02-17 at 10:41 +0200, Michael Wood wrote:
> On 17 February 2013 10:39, Michael Wood <esiotrot at gmail.com> wrote:
> > Hi
> >
> > On 17 February 2013 10:09, Andrew Bartlett <abartlet at samba.org> wrote:
> >> This series of patches (in on and top of my upgradeprovision branch)
> >> makes an important fix to the upgrade code, because calling shutil.copy
> >> is NOT A SAFE WAY to deal with tdb (indeed any) databases.
> >
> > I thought shutil.copy would be perfectly safe as long as Samba was
> > shut down at the time. Is this not the case?
>
> Never mind. I've just realised that upgradeprovision would be
> accessing tdb files, so shutil.copy does seem suspect, unless it does
> the copies in such a way that there's no chance that any tdb files are
> open at the time.
In converting this, I actually proved this would be an issue, as it
deadlocked waiting for a lock on privileges.ldb (that's why that patch
is first).
Even aside from the braindamage of posix locking, I don't want to make
assumptions about what other processes are reading the database at the
time (it just isn't reliable to just punt on that kind of thing).
Andrew Bartlett
--
Andrew Bartlett http://samba.org/~abartlet/
Authentication Developer, Samba Team http://samba.org
More information about the samba-technical
mailing list