Print

Print


Hi Tommaso,

Forgive my out of order answers. In this case it does make sense as you 
have attached the attribure "stage" to the exported path. To he redirector 
it means that if it can't find the file online it will automatically send 
the client to a server that is exporting the path with "stage" so that 
server can stage the file.

Andy

On Tue, 12 Mar 2013, Tommaso Boccali wrote:

> ?and a somehow related question (ok, not really, this is due to my ignorance).
>
> I was trying, using a standard xrootd (no modification apart form some printout), to access via a global redirector a non existing file ?
>
> I see that if I have at the same time, on my machine
> - xrootd
> - cmsd
> - xfrd
> enabled, I always get redirected to that machine.
>
> Does it make sense? in a sense yes: locally the file is not there, but xrootd is not aware of what is on tape, so "maybe it is there" ?.
>
> but, if this is the case,
> - how can this be avoided?
> - if there are two sites with cmsd + frd, how can the system know the file is in one place and not another?
>
> also, a command like
>
> xrd <redirector> locateall <that non existing file>
>
> returns nothing, so is the redirector using a different api to locate files?
>
> I maybe completely wrong, clearly ?. In case, sorry in advance
>
> tom
>
> On Mar 12, 2013, at 12:04 PM, Tommaso Boccali <[log in to unmask]> wrote:
>
>> Hi,
>> 	I am trying to patch Xrootd for a specific use case, for a site with GPFS + TSM backend.
>>
>> The system is somehow different from a standard disk + tape, since GPFS reports (via posix) the files always present, even if they are tape only.
>> In principle, one could forget and let GPFS do the magic: if a fopen is issued to GPFS for a file only on tape, recall is automatically triggered etc ?
>>
>> BUT: the tape system cannot really afford this kind of random recalls, and there is a specific interface to queue recalls and combine them in a smart way (for example, do all the recalls in the same cassette etc).
>>
>> So I am trying to patch xrootd for this (I was already successful in instrumenting cmsd not to publicize files just on tape?)
>>
>> Main idea is to use a standard stagein technique, via
>>
>> frm.xfr.copycmd out /bin/true 0
>> frm.xfr.copycmd in stats noalloc /opt/xrootd/bin/copy.sh $SRC $DST
>> frm.xfr.copymax 200
>>
>> where the script enqueues the recall to the proper mechanism.
>>
>> The patch is needed since xrootd uses frm interface when the file is missing, and this is never the case for a tape only file since GPFS always shows all the files ?
>>
>> So my patch would be to simply tell xrootd that a file on GPFS, but with stat buf.blocks == 0, should be considered as absent, and hence trigger frm.
>>
>> I was optimistic that a simple change like checking the # of blocks in XrdOssApi:Open_ufs would be sufficient, like
>>
>>    struct stat buf;
>>    if (!stat(path,&buf)) {
>>      if ((buf.st_mode & S_IFMT) == S_IFREG) {
>>        if (buf.st_size>0 && buf.st_blocks==0){
>>          // i want to kill this one, I return not existing
>>        std::cerr<<" APPLYING MY FIX!!!!!!!!!!"<<std::endl;
>>          return -ENOENT;
>>        }
>>      }
>>    }
>>
>> and indeed it works, in the sense that the file is recognized as present BUT on disk only, and hence the same error code as for missing files is returned (-ENOENT).
>>
>> Problem is that, later, no recall command is issued for the file, and an open is issued continuously with 1 sec delay. So probably what I did is not enough. I will file a request for enhancement (as I already did for the cmsd part), but in case someone sees a trivial cause for this behavior, I would be happy to test a solution.
>>
>> thanks
>>
>> tommaso
>>
>>
>>
>>
>> ########################################################################
>> Use REPLY-ALL to reply to list
>>
>> To unsubscribe from the XROOTD-L list, click the following link:
>> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1
>
>
> ########################################################################
> Use REPLY-ALL to reply to list
>
> To unsubscribe from the XROOTD-L list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1
>

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-L&A=1