Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
aad75a8
Move DirState and FPurgeState to a separate source file.
alja Feb 8, 2024
5ba6d90
Test purge classes
alja Feb 8, 2024
a3a2c02
Add created files to the statistics.
alja Feb 9, 2024
8993804
Correction/addition to the previous commit: rename plugin class
alja Feb 9, 2024
14ba19b
Instantiate plugin at the time when read configuration
alja Feb 16, 2024
1b37add
Minimize includes in headers.
alja Feb 21, 2024
2cba3b0
Change libxrdPfc.so from type MODULE to type SHARED in the add_librar…
alja Feb 21, 2024
eb87695
Initialize purge plugin from configuration
alja Feb 21, 2024
619cff3
Initialize purge plugin from configuration (append to the previous co…
alja Feb 21, 2024
dbc49cc
File rename
alja Feb 21, 2024
b9660f9
Rename purge plugin sources
alja Feb 21, 2024
e60c0f1
Rename purge plugin sources (append to the previous commit)
alja Feb 21, 2024
74ff271
Remove line with a commented include
alja Feb 21, 2024
342cbd0
Remove obsolete comment
alja Feb 21, 2024
ca5c041
Improve plugin log messages
alja Feb 21, 2024
b49da64
Rename base class for purge plugin from PurgeDir to PurgePin (plugin …
alja Feb 21, 2024
9ee907e
Rename local variables in the purge plugin block
alja Mar 8, 2024
b80e5c1
Move DirState function implementation to a new XrdPfcDirState.cc sour…
alja Mar 12, 2024
f68b510
Add new source file XrdPfcDirState.cc
alja Mar 13, 2024
b7145fd
Prototype implementation of XrdPfc::ResourceMonitor -- the new monito…
osschar Mar 27, 2024
995aede
Consolidate open/close/purge processing in ResourceMonitor.
osschar Mar 28, 2024
4339814
Consolidate read/write Stats update between File and ResourceMonitor.
osschar Apr 19, 2024
4a77edd
Near final implementation of DirState stats and usages handling.
osschar Apr 26, 2024
fce950d
Fix compilation error (leftover return in void func).
osschar Apr 26, 2024
e0ddd94
Add number of bytes written, b_write, to file_close g-stream record.
osschar Apr 26, 2024
d5ccecc
Properly account for the 512-byte round up at the file's end due to f…
osschar Apr 29, 2024
8ca0df7
Major cleanup of stats, usages, snapshots and purge handling.
osschar May 23, 2024
baf81a2
Add missing include for gcc-14.
osschar May 24, 2024
806ea82
Fix missing initialization of m_current_usage_in_st_blocks after Reso…
osschar May 24, 2024
5ef374f
Correction in checking meta-data minimum required space
alja May 28, 2024
90931f9
Pass initialzied fstat to FPurgeState::CheckFile
alja May 29, 2024
285d039
Correction in number of blocks to remove.
alja May 29, 2024
bdaa6e3
Fix xrd_pfc_command/remove_file to properly pass leading slash to oss…
osschar Jun 11, 2024
ae37dd2
Correction in interpreting diskusage configuration parameters: Integr…
alja Jun 14, 2024
9c174a1
Small updates encountered when working on Purge Plugin
jhiemstrawisc Jul 29, 2024
f2a99c6
Merge pull request #88 from jhiemstrawisc/xrootd-lotman-dev
alja Jul 29, 2024
002b5e4
Implement DirStats::Reset()
alja Jul 29, 2024
e41c579
Check all file usage values are less that highWatermark in the diskus…
alja Jul 31, 2024
aa398e6
Modify assert in the FsTraversal::begin_traversal: file paths must be…
alja Jul 31, 2024
ccad0d5
Correct calculation of bytes to remove in perform_purge_check() when …
alja Aug 1, 2024
d7e9485
Correct type in log message
alja Aug 1, 2024
06864a2
Separate plugin's and the default purge FPurgeState's map. Reduce the…
alja Aug 1, 2024
15d8e6d
Schedule purge task periodically if purge plugin is instantiated and …
alja Aug 22, 2024
8438f57
Undefine RM_DEBUG to disable resource monitor debug prints
alja Aug 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/XrdHeaders.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ set( XROOTD_PUBLIC_HEADERS
XrdNet/XrdNetSocket.hh
XrdOuc/XrdOucBuffer.hh
XrdOuc/XrdOucCRC.hh
XrdOuc/XrdOucCache.hh
XrdOuc/XrdOucCacheCM.hh
XrdOuc/XrdOucCacheStats.hh
XrdOuc/XrdOucCallBack.hh
Expand Down
2 changes: 2 additions & 0 deletions src/XrdOss/XrdOssAt.hh
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
/* specific prior written permission of the institution or contributor. */
/******************************************************************************/

#include "XrdOuc/XrdOucEnv.hh"

#include <cstdint>
#include <sys/types.h>

Expand Down
38 changes: 37 additions & 1 deletion src/XrdPfc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
set( LIB_XRD_FILECACHE XrdPfc-${PLUGIN_VERSION} )
set( LIB_XRD_FILECACHE_LEGACY XrdFileCache-${PLUGIN_VERSION} )
set( LIB_XRD_BLACKLIST XrdBlacklistDecision-${PLUGIN_VERSION} )
set( LIB_XRD_PURGEQUOTA XrdPfcPurgeQuota-${PLUGIN_VERSION} )

#-------------------------------------------------------------------------------
# Shared library version
Expand All @@ -15,11 +16,18 @@ set( LIB_XRD_BLACKLIST XrdBlacklistDecision-${PLUGIN_VERSION} )
#-------------------------------------------------------------------------------
add_library(
${LIB_XRD_FILECACHE}
MODULE
SHARED
XrdPfc/XrdPfcTypes.hh
XrdPfc/XrdPfc.cc XrdPfc/XrdPfc.hh
XrdPfc/XrdPfcConfiguration.cc
XrdPfc/XrdPfcDirState.cc XrdPfc/XrdPfcDirState.hh
XrdPfc/XrdPfcDirStateSnapshot.cc XrdPfc/XrdPfcDirStateSnapshot.hh
XrdPfc/XrdPfcFPurgeState.cc XrdPfc/XrdPfcFPurgeState.hh
XrdPfc/XrdPfcPurge.cc
XrdPfc/XrdPfcPurgePin.hh
XrdPfc/XrdPfcResourceMonitor.cc XrdPfc/XrdPfcResourceMonitor.hh
XrdPfc/XrdPfcPathParseTools.hh
XrdPfc/XrdPfcFsTraversal.cc XrdPfc/XrdPfcFsTraversal.hh
XrdPfc/XrdPfcCommand.cc
XrdPfc/XrdPfcFile.cc XrdPfc/XrdPfcFile.hh
XrdPfc/XrdPfcFSctl.cc XrdPfc/XrdPfcFSctl.hh
Expand Down Expand Up @@ -53,6 +61,21 @@ target_link_libraries(
XrdUtils
)

#-------------------------------------------------------------------------------
# The XrdPurgeQuota library
#-------------------------------------------------------------------------------
add_library(
${LIB_XRD_PURGEQUOTA}
MODULE
XrdPfc/XrdPfcPurgeQuota.cc)

target_link_libraries(
${LIB_XRD_PURGEQUOTA}
PRIVATE
XrdUtils
${LIB_XRD_FILECACHE}
)

#-------------------------------------------------------------------------------
# xrdpfc_print
#-------------------------------------------------------------------------------
Expand Down Expand Up @@ -81,6 +104,19 @@ install(
COMMAND ln -sf lib${LIB_XRD_FILECACHE}.so lib${LIB_XRD_FILECACHE_LEGACY}.so
WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} )" )

install(
FILES
${CMAKE_CURRENT_SOURCE_DIR}/XrdPfc/XrdPfcPurgePin.hh
${CMAKE_CURRENT_SOURCE_DIR}/XrdPfc/XrdPfcDirStateSnapshot.hh
${CMAKE_CURRENT_SOURCE_DIR}/XrdPfc/XrdPfcDirState.hh
${CMAKE_CURRENT_SOURCE_DIR}/XrdPfc/XrdPfcStats.hh
${CMAKE_CURRENT_SOURCE_DIR}/XrdPfc/XrdPfc.hh
${CMAKE_CURRENT_SOURCE_DIR}/XrdPfc/XrdPfcFile.hh
${CMAKE_CURRENT_SOURCE_DIR}/XrdPfc/XrdPfcTypes.hh
${CMAKE_CURRENT_SOURCE_DIR}/XrdPfc/XrdPfcInfo.hh
DESTINATION ${CMAKE_INSTALL_PREFIX}/include/xrootd/XrdPfc
)

install(
TARGETS ${LIB_XRD_BLACKLIST}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
Expand Down
8 changes: 4 additions & 4 deletions src/XrdPfc/README
Original file line number Diff line number Diff line change
Expand Up @@ -114,24 +114,24 @@ CONFIGURATION

pfc.blocksize: prefetch buffer size, default 1M

pfc.ram [bytes[g]]: maximum allowed RAM usage for caching proxy
pfc.ram [bytes[g]]: maximum allowed RAM usage for caching proxy

pfc.prefetch <n>: prefetch level, default is 10. Value zero disables prefetching.

pfc.diskusage <low> <hig> diskusage boundaries, can be specified relative in percantage or in g or T bytes

pfc.user <username>: username used by XrdOss plugin

pfc.filefragmentmode [fragmentsize <bytes>] -- enable prefetching a unit of a file,
pfc.filefragmentmode [fragmentsize <bytes>] -- enable prefetching a unit of a file,
with default block size

pfc.osslib <lpath> [<params>] path to alternative plign for output file system
pfc.osslib <lpath> [<params>] path to alternative plign for output file system

pfc.decisionlib <lpath> [<prams>] path to decision library and plugin parameters

pfc.trace <none|error|warning|info|debug|dump> default level is warning, xrootd option -d sets debug level

Examples
Examples

a) Enable proxy file prefetching:
pps.cachelib libXrdPfc.so
Expand Down
Loading