[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#4627) back-ldif issues



h.b.furuseth@usit.uio.no wrote:
> Possibly it's best to create it in the top directory of the ldif
> database.  That way, if a temp file is somehow created and not
> cleaned away, it's (a) in the easiest place to see and (b) won't
> prevent rmdir() if one tries to delete that database or whatever.
> 
> I don't know if there are non-Unix OSes which need special system calls
> to move file between directories though.  Or for that matter, if they
> allow rename() to replace an existing file, maybe unlink is needed
> first.  The code looks very Unixy already, so I assume a Unix emulation
> is needed to run it anyway.  I don't know how those work.

For that matter, I think the temp file must be created in the same directory as 
the existing file. It's always possible that someone will mount a new 
filesystem somewhere in the hierarchy, and you cannot rename() across mountpoints.

-- 
   -- Howard Chu
   Chief Architect, Symas Corp.  http://www.symas.com
   Director, Highland Sun        http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP     http://www.openldap.org/project/