svn commit: samba r8178 - in trunk/source/smbd: .

tridge at samba.org tridge at samba.org
Wed Jul 6 13:21:57 GMT 2005


Jeremy,

 > This could be extremely costly to check on every qpathinfo. Clients
 > do qpathinfo a *lot*.

This used to be the case, but qpathinfo() is now a bit rarer I
think. Often clients will do a ntcreatex to open the file, then do a
qfileinfo(). 

Logically, a qpathinfo() is a ntcreatex open for attribute read,
followed by a qfileinfo(), followed by a close(). With that logic the
"files do not appear for qpathinfo when delete on close is set" makes
perfect sense, as the open for attribute read will fail.

Another alternative is to take advantage of xattr support, doing the
"delete on close shared across connections" as a flag on the file in
the xattr. That way we don't need to go to the share mode db.

We need to watch that we don't end up with the bug that w2k3 had with
setpathinfo tho. You could end up with a file that is not open by
anybody but has delete on close set. The file then cannot be opened or
deleted by anyone. On windows you need to reboot to delete the
file. It would be a very easy bug to end up with if we put it in the
xattr.

Cheers, Tridge


More information about the samba-technical mailing list