irods
4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems.
![]() ![]() |
#include <sys/time.h>
#include "rodsPath.h"
#include "rodsErrorTable.h"
#include "rodsLog.h"
#include "rsyncUtil.h"
#include "miscUtil.h"
#include "checksum.hpp"
#include "rcGlobalExtern.h"
#include <sstream>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/convenience.hpp>
#include <stdlib.h>
#include "irods_log.hpp"
#include "irods_hasher_factory.hpp"
#include "irods_path_recursion.hpp"
#include "irods_exception.hpp"
Go to the source code of this file.
Variables | |
static int | CurrentTime = 0 |
int ageExceeded | ( | int | ageLimit, |
int | myTime, | ||
char * | objPath, | ||
rodsLong_t | fileSize | ||
) |
Definition at line 1212 of file rsyncUtil.cpp.
References CurrentTime, and printNoSync().
Referenced by rsyncCollToCollUtil(), rsyncCollToDirUtil(), rsyncDataToDataUtil(), rsyncDataToFileUtil(), rsyncDirToCollUtil(), and rsyncFileToDataUtil().
int initCondForIrodsToIrodsRsync | ( | rodsEnv * | myRodsEnv, |
rodsArguments_t * | rodsArgs, | ||
dataObjCopyInp_t * | dataObjCopyInp | ||
) |
Definition at line 1140 of file rsyncUtil.cpp.
References addKeyVal(), rodsArguments_t::age, AGE_KW, rodsArguments_t::agevalue, rodsArguments_t::all, ALL_KW, DataObjInp::condInput, DEST_RESC_NAME_KW, DataObjCopyInp::destDataObjInp, FORCE_FLAG_KW, LOG_ERROR, NAME_LEN, NO_THREADING, NULL, rodsArguments_t::number, rodsArguments_t::numberValue, DataObjInp::numThreads, rodsArguments_t::resource, rodsArguments_t::resourceString, rodsEnv::rodsDefResource, rodsLog(), rodsArguments_t::sizeFlag, True, USER__NULL_INPUT_ERR, VERIFY_BY_SIZE_KW, VERIFY_CHKSUM_KW, and rodsArguments_t::verifyChecksum.
Referenced by rsyncUtil().
int initCondForRsync | ( | rodsEnv * | myRodsEnv, |
rodsArguments_t * | rodsArgs, | ||
dataObjInp_t * | dataObjInp | ||
) |
Definition at line 1075 of file rsyncUtil.cpp.
References addKeyVal(), rodsArguments_t::age, AGE_KW, rodsArguments_t::agevalue, rodsArguments_t::all, ALL_KW, DataObjInp::condInput, DEST_RESC_NAME_KW, FORCE_FLAG_KW, LOG_ERROR, NAME_LEN, NO_THREADING, NULL, rodsArguments_t::number, rodsArguments_t::numberValue, DataObjInp::numThreads, rodsArguments_t::resource, rodsArguments_t::resourceString, rodsEnv::rodsDefResource, rodsLog(), rodsArguments_t::sizeFlag, True, USER__NULL_INPUT_ERR, and VERIFY_BY_SIZE_KW.
Referenced by rsyncUtil().
int rsyncCollToCollUtil | ( | rcComm_t * | conn, |
rodsPath_t * | srcPath, | ||
rodsPath_t * | targPath, | ||
rodsEnv * | myRodsEnv, | ||
rodsArguments_t * | rodsArgs, | ||
dataObjCopyInp_t * | dataObjCopyInp | ||
) |
Definition at line 925 of file rsyncUtil.cpp.
References rodsArguments_t::age, ageExceeded(), rodsArguments_t::agevalue, CAT_NO_ROWS_FOUND, CollEnt::chksum, RodsPath::chksum, COLL_OBJ_T, SpecColl::collClass, CollEnt::collName, DATA_OBJ_T, CollEnt::dataId, RodsPath::dataId, CollEnt::dataName, collHandle_t::dataObjInp, CollEnt::dataSize, EXIST_ST, freeRodsObjStat(), getRodsObjType(), getSpecCollTypeStr(), LOG_ERROR, rodsArguments_t::longOption, MAX_NAME_LEN, mkColl(), CollEnt::modifyTime, NAME_LEN, NO_SPEC_COLL, NULL, RodsPath::objState, CollEnt::objType, RodsPath::objType, RodsPath::outPath, rclCloseCollection(), rclOpenCollection(), rclReadCollection(), rodsArguments_t::recursive, rodsLog(), rodsLogError(), RodsPath::rodsObjStat, rstrcpy(), rsyncDataToDataUtil(), RodsPath::size, DataObjInp::specColl, CollEnt::specColl, splitPathByKey(), DataObjCopyInp::srcDataObjInp, irods.pypyodbc::status, SYS_SPEC_COLL_OBJ_NOT_EXIST, True, USER__NULL_INPUT_ERR, USER_INPUT_OPTION_ERR, rodsArguments_t::verbose, and VERY_LONG_METADATA_FG.
Referenced by rsyncUtil().
int rsyncCollToDirUtil | ( | rcComm_t * | conn, |
rodsPath_t * | srcPath, | ||
rodsPath_t * | targPath, | ||
rodsEnv * | myRodsEnv, | ||
rodsArguments_t * | rodsArgs, | ||
dataObjInp_t * | dataObjOprInp | ||
) |
Definition at line 633 of file rsyncUtil.cpp.
References rodsArguments_t::age, ageExceeded(), rodsArguments_t::agevalue, CAT_NO_ROWS_FOUND, CollEnt::chksum, RodsPath::chksum, COLL_OBJ_T, SpecColl::collClass, CollEnt::collName, DATA_OBJ_T, CollEnt::dataId, RodsPath::dataId, CollEnt::dataMode, CollEnt::dataName, CollEnt::dataSize, EXIST_ST, getFileType(), LOCAL_FILE_T, LOG_ERROR, rodsArguments_t::longOption, MAX_NAME_LEN, mkdirR(), CollEnt::modifyTime, NAME_LEN, NO_SPEC_COLL, NULL, RodsPath::objMode, RodsPath::objState, CollEnt::objType, RodsPath::objType, RodsPath::outPath, rclCloseCollection(), rclOpenCollection(), rclReadCollection(), rodsArguments_t::recursive, rodsLog(), rodsLogError(), rstrcpy(), rsyncDataToFileUtil(), RodsPath::size, DataObjInp::specColl, CollEnt::specColl, splitPathByKey(), irods.pypyodbc::status, SYS_SPEC_COLL_OBJ_NOT_EXIST, True, USER__NULL_INPUT_ERR, USER_INPUT_OPTION_ERR, and VERY_LONG_METADATA_FG.
Referenced by rsyncUtil().
int rsyncDataToDataUtil | ( | rcComm_t * | conn, |
rodsPath_t * | srcPath, | ||
rodsPath_t * | targPath, | ||
rodsArguments_t * | myRodsArgs, | ||
dataObjCopyInp_t * | dataObjCopyInp | ||
) |
Definition at line 515 of file rsyncUtil.cpp.
References addKeyVal(), rodsArguments_t::age, ageExceeded(), rodsArguments_t::agevalue, RodsPath::chksum, DataObjInp::condInput, DataObjInp::dataSize, DataObjCopyInp::destDataObjInp, IRODS_TO_IRODS, irods::log(), LOG_ERROR, rodsArguments_t::longOption, MAX_NAME_LEN, rodsObjStat::modifyTime, NOT_EXIST_ST, NULL, DataObjInp::objPath, RodsPath::objState, RodsPath::outPath, printNoSync(), printTiming(), rcDataObjCopy(), rcDataObjRsync(), rmKeyVal(), rodsErrorName(), rodsLog(), RodsPath::rodsObjStat, rstrcpy(), RSYNC_DEST_PATH_KW, RSYNC_MODE_KW, RodsPath::size, rodsArguments_t::sizeFlag, DataObjCopyInp::srcDataObjInp, irods.pypyodbc::status, SYS_RSYNC_TARGET_MODIFIED, rcComm_t::transStat, True, USER__NULL_INPUT_ERR, and rodsArguments_t::verbose.
Referenced by rsyncCollToCollUtil(), and rsyncUtil().
int rsyncDataToFileUtil | ( | rcComm_t * | conn, |
rodsPath_t * | srcPath, | ||
rodsPath_t * | targPath, | ||
rodsArguments_t * | myRodsArgs, | ||
dataObjInp_t * | dataObjOprInp | ||
) |
Definition at line 179 of file rsyncUtil.cpp.
References addKeyVal(), rodsArguments_t::age, ageExceeded(), rodsArguments_t::agevalue, RodsPath::chksum, DataObjInp::condInput, DataObjInp::dataSize, irods::get_hash_scheme_from_checksum(), getRodsEnv(), getValByKey(), LOCAL_TO_IRODS, LOG_ERROR, rodsArguments_t::longOption, MAX_NAME_LEN, rodsObjStat::modifyTime, myChmod(), NOT_EXIST_ST, NULL, RodsPath::objMode, DataObjInp::objPath, RodsPath::objState, irods::error::ok(), DataObjInp::openFlags, RodsPath::outPath, printNoSync(), printTiming(), rcChksumLocFile(), rcDataObjGet(), rcDataObjRsync(), irods::error::result(), rmKeyVal(), rodsLog(), rodsLogError(), RodsPath::rodsObjStat, rstrcpy(), RSYNC_CHKSUM_KW, RSYNC_DEST_PATH_KW, RSYNC_MODE_KW, RodsPath::size, rodsArguments_t::sizeFlag, irods.pypyodbc::status, SYS_RSYNC_TARGET_MODIFIED, rcComm_t::transStat, True, USER__NULL_INPUT_ERR, rodsArguments_t::verbose, VERIFY_CHKSUM_KW, and rodsArguments_t::verifyChecksum.
Referenced by rsyncCollToDirUtil(), and rsyncUtil().
int rsyncDirToCollUtil | ( | rcComm_t * | conn, |
rodsPath_t * | srcPath, | ||
rodsPath_t * | targPath, | ||
rodsEnv * | myRodsEnv, | ||
rodsArguments_t * | rodsArgs, | ||
dataObjInp_t * | dataObjOprInp | ||
) |
Definition at line 761 of file rsyncUtil.cpp.
References rodsArguments_t::age, ageExceeded(), rodsArguments_t::agevalue, CAT_NO_ROWS_FOUND, irods::exception::client_display_what(), COLL_OBJ_T, DataObjInp::createMode, DATA_OBJ_T, EXIST_ST, irods::experimental::administration::client::v1::exists(), freeRodsObjStat(), getPathStMode(), getRodsObjType(), irods::is_path_valid_for_recursion(), irods::experimental::filesystem::client::last_write_time(), LOCAL_DIR_T, LOCAL_FILE_T, LOG_ERROR, rodsArguments_t::longOption, MAX_NAME_LEN, mkCollR(), NULL, RodsPath::objState, RodsPath::objType, RodsPath::outPath, pid_age::p, rodsArguments_t::recursive, rodsLog(), rodsLogError(), RodsPath::rodsObjStat, rsyncFileToDataUtil(), RodsPath::size, irods.pypyodbc::status, SYS_SPEC_COLL_OBJ_NOT_EXIST, True, USER__NULL_INPUT_ERR, USER_INPUT_OPTION_ERR, USER_INPUT_PATH_ERR, and rodsArguments_t::verbose.
Referenced by rsyncUtil().
int rsyncFileToDataUtil | ( | rcComm_t * | conn, |
rodsPath_t * | srcPath, | ||
rodsPath_t * | targPath, | ||
rodsArguments_t * | myRodsArgs, | ||
dataObjInp_t * | dataObjOprInp | ||
) |
Definition at line 324 of file rsyncUtil.cpp.
References addKeyVal(), rodsArguments_t::age, ageExceeded(), rodsArguments_t::agevalue, RodsPath::chksum, DataObjInp::condInput, DataObjInp::dataSize, irods::get_hash_scheme_from_checksum(), getRodsEnv(), getValByKey(), IRODS_TO_LOCAL, LOG_ERROR, rodsArguments_t::longOption, MAX_NAME_LEN, NOT_EXIST_ST, NULL, DataObjInp::objPath, RodsPath::objState, irods::error::ok(), DataObjInp::openFlags, RodsPath::outPath, printNoSync(), printTiming(), rcChksumLocFile(), rcDataObjPut(), rcDataObjRsync(), irods::error::result(), rmKeyVal(), rodsLog(), rodsLogError(), rstrcpy(), RSYNC_CHKSUM_KW, RSYNC_DEST_PATH_KW, RSYNC_MODE_KW, RodsPath::size, rodsArguments_t::sizeFlag, irods.pypyodbc::status, SYS_RSYNC_TARGET_MODIFIED, rcComm_t::transStat, True, USER__NULL_INPUT_ERR, USER_INPUT_PATH_ERR, rodsArguments_t::verbose, VERIFY_CHKSUM_KW, and rodsArguments_t::verifyChecksum.
Referenced by rsyncDirToCollUtil(), and rsyncUtil().
int rsyncUtil | ( | rcComm_t * | conn, |
rodsEnv * | myRodsEnv, | ||
rodsArguments_t * | myRodsArgs, | ||
rodsPathInp_t * | rodsPathInp | ||
) |
Definition at line 31 of file rsyncUtil.cpp.
References addKeyVal(), CAT_NO_ROWS_FOUND, irods::exception::client_display_what(), COLL_OBJ_T, SpecColl::collClass, DataObjInp::condInput, DataObjInp::createMode, DATA_OBJ_T, DataObjCopyInp::destDataObjInp, irods::disallow_file_dir_mix_on_command_line(), EXIST_ST, irods::file_system_sanity_check(), getRodsObjType(), initCondForIrodsToIrodsRsync(), initCondForRsync(), irods::is_path_valid_for_recursion(), LOCAL_DIR_T, LOCAL_FILE_T, LOG_ERROR, NULL, RodsPathInp::numSrc, RodsPath::objMode, RodsPath::objState, RodsPath::objType, RodsPath::outPath, REG_CHKSUM_KW, resolveRodsTarget(), rmKeyVal(), rodsLog(), rodsLogError(), RodsPath::rodsObjStat, RSYNC_OPR, rsyncCollToCollUtil(), rsyncCollToDirUtil(), rsyncDataToDataUtil(), rsyncDataToFileUtil(), rsyncDirToCollUtil(), rsyncFileToDataUtil(), DataObjInp::specColl, rodsObjStat::specColl, DataObjCopyInp::srcDataObjInp, RodsPathInp::srcPath, irods.pypyodbc::status, STRUCT_FILE_COLL, SYS_SPEC_COLL_OBJ_NOT_EXIST, RodsPathInp::targPath, TRANSLATED_PATH_KW, USER__NULL_INPUT_ERR, and USER_INPUT_PATH_ERR.
|
static |
Definition at line 25 of file rsyncUtil.cpp.
Referenced by ageExceeded().