xrdfs prepare should be able to trigger the retrieval of a tape file WITHOUT opaque data
The following commit within the eos git repository causes xrdfs eos_mgm_host prepare file_url
statements to silently DO NOTHING with no error messages on "workflow enabled" directories if the file_url
command-line argument does not contain any opaque data.
commit 18934d751df368ae6a42d0c886e8c118522de457
Author: Jozsef Makai <jmakai@cern.ch>
Date: Tue Aug 1 17:16:07 2017 +0200
MGM: OK reply for non-workflow prepares. Fixes EOS-1944
diff --git a/mgm/XrdMgmOfs.cc b/mgm/XrdMgmOfs.cc
index 168e7cd..a03f2f9 100644
--- a/mgm/XrdMgmOfs.cc
+++ b/mgm/XrdMgmOfs.cc
@@ -354,6 +354,12 @@ XrdMgmOfs::prepare(XrdSfsPrep& pargs,
ACCESSMODE_W;
MAYSTALL;
MAYREDIRECT;
+
+ // simply reply OK if it's not a workflow
+ if(info.empty()) {
+ return SFS_OK;
+ }
+
std::string cmd = "mgm.pcmd=event";
if (!(pargs.opts & Prep_STAGE)) {
@@ -362,6 +368,7 @@ XrdMgmOfs::prepare(XrdSfsPrep& pargs,
XrdOucTList* pptr = pargs.paths;
XrdOucTList* optr = pargs.oinfo;
+
int retc = SFS_OK;
// check that all files exist
EOS should be modified to allow xrdfs eos_mgm_host prepare file_url
statements with no opaque data to trigger retrieves from tape. Of course the caller of xrdfd
must be a "power user".