Print

Print


Motivation:
In general, a create operation is nice to have.
Especially useful for a dcache xrootd door.
When FUSE has to use mknod, it results in an empty file being created, closed, then opened again for writing.
In dcache this does not work and needs an explicit check to allow overwriting the empty file.
Just appending to the empty file is not possible in dcache, and FUSE does not set the DELETE flag, as it does not expect it to be needed to append to an empty file.
Implementing a create operation makes copying onto dcache faster, as it does not require creating the file twice.

Change:
Implement xrootdfs_create that works as xrootdfs_mknod, except:
 - it opens the file over a numbered link, instead of unnumbered, using the same link numbering process as xrootdfs_open
 - it creates the wcache for the file
 - it does not close the file, and returns the file descriptor

Result:
Copying files on xrootdfs uses the new CREATE function.
The current release of dcache (without the workaround) xrootd door can be mounted over xrootdfs and used.
This should still work with xrootd clusters with/without cns and with/without sss, but was not tested. Is there an existing testing infrastructure or methodology for this?
You can view, comment on, or merge this pull request online at:

  https://github.com/xrootd/xrootd/pull/515

-- Commit Summary --

  * xrootdfs: rewrite xrootdfs_mknod, extract low-level function
  * xrootdfs: implement xrootdfs_create

-- File Changes --

    M src/XrdFfs/XrdFfsXrootdfs.cc (105)

-- Patch Links --

https://github.com/xrootd/xrootd/pull/515.patch
https://github.com/xrootd/xrootd/pull/515.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/pull/515

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

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