Print

Print


ok,  I'll play around with it.

stat() is also used on already-open files.
in my case, xrootd issues stat()s on my data file even tho it is  
already open and fstat() has already checked it out.

In the client I am switching from a simple TFile::Open() to some sort  
of streaming option.  I assume stat calls will be different
when I change this, maybe the client will stick with fstat.

Dan

On Oct 23, 2006, at 4:00 PM, Andrew Hanushevsky wrote:

> Hi Daniel,
>>> however xrootd uses both fstat() and stat() redundantly or  
>>> interchangeable and assumes they are the same. (?? I think, I  
>>> don't know)  is this correct?  I don't understand how or why  
>>> xrootd needs  to use both fstat and stat to retrieve the same  
>>> information -- why  isn't the initial fstat operation  
>>> sufficient?  what more does a  subsequent stat operation  
>>> provide?  why aren't subsequent checks  also fstat?
> Yes, stat() and fstat() are assumed to return identical results.  
> stat() is used for files that are not currently opened while fstat 
> () is used for already opened files. There are many oddities in the  
> root framework that cause stat() and fstat() to be issued multiple  
> times. While we'd like the client not to do this; there is little  
> that can be done without spending a lot of time correcting less  
> than optimal code. So, the server simply has to manage misbehaving  
> clients.
>
> Andy