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.
  Fossies Dox: irods-4.2.8.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

specColl.cpp File Reference
#include "rcMisc.h"
#include "dataObjOpr.hpp"
#include "specColl.hpp"
#include "collection.hpp"
#include "resource.hpp"
#include "genQuery.h"
#include "modColl.h"
#include "icatDefines.h"
#include "dataObjClose.h"
#include "objMetaOpr.hpp"
#include "rsGenQuery.hpp"
#include "rsModColl.hpp"
#include "rsDataObjClose.hpp"
#include "irods_resource_backport.hpp"
#include "irods_stacktrace.hpp"
Include dependency graph for specColl.cpp:

Go to the source code of this file.

Functions

int querySpecColl (rsComm_t *rsComm, char *objPath, genQueryOut_t **genQueryOut)
 
int queueSpecCollCache (rsComm_t *rsComm, genQueryOut_t *genQueryOut, char *objPath)
 
int queueSpecCollCacheWithObjStat (rodsObjStat_t *rodsObjStatOut)
 
specCollCache_tmatchSpecCollCache (char *objPath)
 
int getSpecCollCache (rsComm_t *rsComm, char *objPath, int inCachOnly, specCollCache_t **specCollCache)
 
int modCollInfo2 (rsComm_t *rsComm, specColl_t *specColl, int clearFlag)
 
int statPathInSpecColl (rsComm_t *rsComm, char *objPath, int inCachOnly, rodsObjStat_t **rodsObjStatOut)
 
int specCollSubStat (rsComm_t *rsComm, specColl_t *specColl, char *subPath, specCollPerm_t specCollPerm, dataObjInfo_t **dataObjInfo)
 
int resolvePathInSpecColl (rsComm_t *rsComm, char *objPath, specCollPerm_t specCollPerm, int inCachOnly, dataObjInfo_t **dataObjInfo)
 
int resolveLinkedPath (rsComm_t *rsComm, char *objPath, specCollCache_t **specCollCache, keyValPair_t *condInput)
 

Variables

static int HaveFailedSpecCollPath = 0
 
static char FailedSpecCollPath [(1024+64)]
 

Function Documentation

◆ getSpecCollCache()

int getSpecCollCache ( rsComm_t rsComm,
char *  objPath,
int  inCachOnly,
specCollCache_t **  specCollCache 
)

Definition at line 255 of file specColl.cpp.

References freeGenQueryOut(), matchSpecCollCache(), NULL, querySpecColl(), queueSpecCollCache(), SpecCollCacheHead, irods.pypyodbc::status, and SYS_SPEC_COLL_NOT_IN_CACHE.

Referenced by _rsObjStat(), linkCollReg(), resolveLinkedPath(), resolvePathInSpecColl(), statPathInSpecColl(), structFileReg(), and tar_struct_file_open().

Here is the call graph for this function:

◆ matchSpecCollCache()

specCollCache_t* matchSpecCollCache ( char *  objPath)

◆ modCollInfo2()

int modCollInfo2 ( rsComm_t rsComm,
specColl_t specColl,
int  clearFlag 
)

Definition at line 285 of file specColl.cpp.

References addKeyVal(), SpecColl::collection, COLLECTION_INFO2_KW, CollInp::collName, CollInp::condInput, LOG_NOTICE, makeCachedStructFileStr(), MAX_NAME_LEN, rodsLog(), rsModColl(), rstrcpy(), and irods.pypyodbc::status.

Referenced by stage_tar_struct_file(), tar_file_mkdir(), tar_file_rename(), tar_file_rmdir(), tar_file_sync(), tar_file_truncate(), tar_file_unlink(), and tar_file_write().

Here is the call graph for this function:

◆ querySpecColl()

int querySpecColl ( rsComm_t rsComm,
char *  objPath,
genQueryOut_t **  genQueryOut 
)

◆ queueSpecCollCache()

◆ queueSpecCollCacheWithObjStat()

int queueSpecCollCacheWithObjStat ( rodsObjStat_t rodsObjStatOut)

◆ resolveLinkedPath()

◆ resolvePathInSpecColl()

int resolvePathInSpecColl ( rsComm_t rsComm,
char *  objPath,
specCollPerm_t  specCollPerm,
int  inCachOnly,
dataObjInfo_t **  dataObjInfo 
)

◆ specCollSubStat()

int specCollSubStat ( rsComm_t rsComm,
specColl_t specColl,
char *  subPath,
specCollPerm_t  specCollPerm,
dataObjInfo_t **  dataObjInfo 
)

Definition at line 409 of file specColl.cpp.

References ACCESS_DELETE_OBJECT, ACCESS_READ_OBJECT, addKeyVal(), COLL_OBJ_T, SpecColl::collClass, SpecColl::collection, collStat(), DataObjInp::condInput, rodsObjStat::createTime, DATA_OBJ_T, DataObjInfo::dataCreate, rodsObjStat::dataId, DataObjInfo::dataId, DataObjInfo::dataModify, DataObjInfo::dataOwnerName, DataObjInfo::dataOwnerZone, DataObjInfo::dataType, DataObjInfo::filePath, freeAllDataObjInfo(), freeDataObjInfo(), freeRodsObjStat(), getDataObjInfo(), getMountedSubPhyPath(), getStructFileType(), irods::resource_manager::hier_to_leaf_id(), l3Stat(), LINKED_COLL, irods::log(), LOG_DEBUG, LOG_ERROR, MAX_NAME_LEN, rodsObjStat::modifyTime, MOUNTED_COLL, NAME_LEN, NULL, DataObjInp::objPath, SpecColl::objPath, DataObjInfo::objPath, irods::error::ok(), rodsObjStat::ownerName, rodsObjStat::ownerZone, PASS, SpecColl::phyPath, READ_COLL_PERM, SpecColl::replNum, DataObjInfo::replNum, replSpecColl(), requeDataObjInfoByResc(), RESC_HIER_STR_KW, resc_mgr, SpecColl::rescHier, DataObjInfo::rescHier, DataObjInfo::rescId, DataObjInfo::rescName, resolveLinkedPath(), SpecColl::resource, rodsLog(), rstrcpy(), sortObjInfoForOpen(), SpecCollCache::specColl, DataObjInfo::specColl, rodsStat::st_ctim, rodsStat::st_mode, rodsStat::st_mtim, rodsStat::st_size, irods.pypyodbc::status, DataObjInfo::subPath, SYS_CACHE_STRUCT_FILE_RESC_ERR, SYS_UNKNOWN_SPEC_COLL_CLASS, TIME_LEN, USER__NULL_INPUT_ERR, and WRITE_COLL_PERM.

Referenced by resolvePathInSpecColl(), and statPathInSpecColl().

Here is the call graph for this function:

◆ statPathInSpecColl()

Variable Documentation

◆ FailedSpecCollPath

char FailedSpecCollPath[(1024+64)]
static

Definition at line 24 of file specColl.cpp.

Referenced by querySpecColl().

◆ HaveFailedSpecCollPath

int HaveFailedSpecCollPath = 0
static

Definition at line 23 of file specColl.cpp.

Referenced by querySpecColl().