Hi Andy,

Andrew Hanushevsky wrote:
> Hi Fons,
> On Sat, 5 Mar 2005, Fons Rademakers wrote:
>>   the old rootd never allowed two or more clients to open the same file
>>for writing. We have the following rules:
>>A file can only be opened for writing if the file is not already open for
>>reading or writing by any other process.
>>A file can only be opened for reading if the file is not already open for
>>writing (where writing of course includes "update" mode in ROOT parlance).
> That's exactly the semantic that is in xrootd.
>>To be a full drop in replacement xrootd must be able to support the file
>>update mode. I think this could be easily achieved if we allow r/w pools
>>where the olbd never will trigger a replication. In such a pool the olbd
>>can be used to keep track of the status of a file, if it is open for
>>reading, in which case it cannot be opened by another process for writing
>>or if a file is open for writing in which case it cannot be opened by
>>anybody else.
> That's also the semantic in xrootd. When a file is open for reading, any
> available node can host the file. If the file is open for writing, only
> one r/w node is allowed to host the file. I will tighten these rules to
> make sure that a file will not be replicated if it is being hosted by
> a r/w node.
> I think the problem in xrdcp stemmed from a misunderstanding of what the
> "force" option really does. That option exists in both rootd and xrootd
> and both have exactly the same semantics (I tried very hard to
> duplicate the semantics of rootd in this area).

The force option was mainly introduced to clear the file in-use lock that 
might have been left over from a rootd server (software/hardware) crash 
(when the code was less stable and to avoid sys admin interference to clean 
up the situation). Basically it was a kind of back door that was not 
supposed to be used unless very needed.

Cheers, Fons.

Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: [log in to unmask]              Phone: +41 22 7679248
WWW:      Fax:   +41 22 7679480