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
|