Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
1d2bde3
5.4.3 client compatibility patch
Jo-stfc Mar 28, 2023
44e8b22
SEGV fix for multistream
Jo-stfc Mar 28, 2023
afe6e32
CMS token patch for scope /
Jan 11, 2024
f2422ae
patch to reject /foobar paths when scope is set to /foo
Jan 17, 2024
445e69b
add stat permission to create/modify/delete in scitokens
Feb 9, 2024
5ab9a35
allow stat and folder creation of superfolders according to specs in …
Feb 9, 2024
c3ac3ad
allow stat and folder creation of superfolders according to specs in …
Feb 9, 2024
a3a69a6
restrict mkdir superfolder permission to create/modify scopes only
Jo-stfc Feb 15, 2024
fc51cea
revised load balancing algorithm - weighed random selection
Jo-stfc Feb 28, 2024
684d851
default to skip nodes
Jo-stfc Feb 28, 2024
d435439
sort compilation warnings
Jo-stfc Feb 29, 2024
b4d4962
Merge pull request #4 from stfc/superfolder_access
Jo-stfc Feb 29, 2024
1d846c8
remove stale checksum check in standard xrootd
Feb 13, 2024
8095f8a
Merge pull request #10 from stfc/noscript_checksum
Jo-stfc Mar 4, 2024
e8e6433
add case when multiple nodes report max load for selection to still h…
Jo-stfc Mar 4, 2024
975006c
Merge branch 'v5.5.4patched' into noscript_checksum
Jo-stfc Apr 30, 2024
025b629
Merge pull request #9 from stfc/noscript_checksum
Jo-stfc Apr 30, 2024
df37fd8
Merge pull request #12 from stfc/v5.5.4patched
Jo-stfc May 8, 2024
6db725d
case insensitive headers for xrdhttp
Jo-stfc May 8, 2024
8123a86
Merge pull request #13 from stfc/v5.5.4fix
Jo-stfc May 8, 2024
f9e1691
making random generation static to limit memory usage
Jun 13, 2024
553935d
prevent allocation overflow for weighed array when no nodes are logge…
Jun 14, 2024
1531255
restrict new LB to section previously taken by load selection
Jun 14, 2024
c071a30
restrict new LB to section previously taken by load selection
Jun 14, 2024
9986339
revert LB algorithm for rocky8 primary cmsd
Jun 14, 2024
8af86c8
static array
Jun 19, 2024
d81af68
static array
Jun 19, 2024
a8181eb
stop crashes due to CA
Jo-stfc Jun 21, 2024
9686073
pgrwdbg
Jo-stfc Jun 21, 2024
0d9a457
pgrwdbg
Jo-stfc Jun 21, 2024
f2fce2e
do not pgio
Jo-stfc Jun 21, 2024
cf22600
Amadio's fix
Jo-stfc Jun 25, 2024
09080c2
Merge pull request #15 from stfc/upstream_lb
Jo-stfc Jul 26, 2024
f753f67
Merge branch 'v5.5.4patched' into rocky8temp
Jo-stfc Jul 26, 2024
7764992
Merge branch 'v5.7.0patched' into rocky8temp
Jo-stfc Aug 4, 2024
d03e7e3
Merge pull request #16 from stfc/rocky8temp
Jo-stfc Aug 4, 2024
d2dc437
remove Centos7 CI
Jo-stfc Aug 4, 2024
ed754de
fixed version
Jo-stfc Aug 8, 2024
6dd8cd1
XrdCeph module back into core
Jo-stfc Aug 8, 2024
003d5e8
[XrdPfc] Make sure direct vread requests conform to protocol limits. …
osschar Aug 22, 2024
431f515
[Protocol] Define readv limits.
abh3 Aug 17, 2024
1796a3c
[Protocol] Indicate whether or not server has a cache in kXR_Protocol…
abh3 Jul 31, 2024
fdf0e65
spec tuning
Jo-stfc Sep 9, 2024
b53f318
Merge tag 'v5.7.1' of https://github.com/xrootd/xrootd
Jo-stfc Sep 9, 2024
bfcf7db
Merge branch 'v5.7.1withceph' into v5.7.1
Jo-stfc Sep 9, 2024
46dca9d
Merge pull request #18 from stfc/v5.7.1
Jo-stfc Sep 9, 2024
d583a7f
match spec
Jo-stfc Sep 18, 2024
441fd05
edit filenotfound response for dfs
Jo-stfc Sep 24, 2024
286bb3a
feat: allow redirection of write requests
Oct 10, 2024
16892b5
Merge branch 'v5.7.2patched' into v5.7.1withceph
Jo-stfc Dec 6, 2024
fb90ef3
Merge pull request #21 from stfc/v5.7.1withceph
Jo-stfc Dec 6, 2024
0a101bd
compiler warning fix
Jo-stfc Dec 6, 2024
e8d9f6a
add useratpool in server logs in case of failure
Jo-stfc Dec 16, 2024
192f76d
clear checksum on write completion
Jo-stfc Dec 16, 2024
e5062d8
Merge branch 'v5.7.3patched' into master
Jo-stfc Jan 30, 2025
4019669
Merge pull request #22 from stfc/master
Jo-stfc Feb 3, 2025
582009a
Merge branch 'xrootd:master' into master
Jo-stfc Feb 3, 2025
ffed5a7
Merge pull request #23 from stfc/master
Jo-stfc Feb 3, 2025
737888c
Add initial support for calculating Adler32 on-the-fly
Feb 4, 2025
d4fbe3d
Merge pull request #24 from stfc/v5.7.3patched
Jo-stfc Feb 4, 2025
686c08a
Lint
alex-rg Feb 10, 2025
e4a549b
fix: do not use RD_open2 option for redirecrts
alex-rg Feb 10, 2025
5b42730
Merge pull request #26 from alex-rg/add_redirection
Jo-stfc Feb 10, 2025
1e05c26
feat: allow buffering layer to work only for writes
alex-rg Feb 19, 2025
81e6c1b
version bump
Jo-stfc Feb 19, 2025
d9cb1ed
Change config options. The default is to not calculate the streamed c…
Feb 28, 2025
e5e1569
swap extern use to pass compilation
Jo-stfc Feb 28, 2025
2dd683d
update file not found response
Jo-stfc Mar 12, 2025
2f47f8f
Open checksum record file once, in XrdCephPosix.cc . Do not log unini…
Mar 13, 2025
de924c0
Use strdup to ensure that concatenation of C String .c_str() works co…
Mar 16, 2025
fd0f842
Remove duplicate definition of ts_rfc3339 in XrdCephOss
Mar 17, 2025
730ddaa
Merge branch 'v5.7.8patched' into v5.7.3patched
Jo-stfc Mar 18, 2025
7b57249
Move to use Use XRootD's own checksum calculator class rather than us…
Mar 26, 2025
e08d302
Merge branch 'use-xrdckscalc' into xrdceph-otf-checksums
Mar 26, 2025
b37f482
Add a delete call on XrdCksCalcalder32 object obtained by new
Mar 27, 2025
d5ce2bf
Adjust CMake so macaroons can build with json-c
bbockelm Mar 23, 2024
9e9b14b
Add support to replace scitoken with macaroon on redirects
bbockelm May 31, 2024
416a35c
Merge branch 'redirtoken' into v5.7.3patched
Jo-stfc Apr 28, 2025
e235eed
Merge pull request #31 from stfc/v5.7.3patched
Jo-stfc Apr 28, 2025
f1dc6fd
Merge pull request #32 from stfc/v5.7.3patched
Jo-stfc May 12, 2025
cebb439
Merge pull request #33 from stfc/redirtoken
Jo-stfc May 12, 2025
da9ee61
Merge branch 'xrdceph-otf-checksums' into v5.8.2patched
Jo-stfc May 12, 2025
75a7a8b
Merge pull request #34 from stfc/v5.8.2patched
Jo-stfc May 12, 2025
678a073
Update VERSION
Jo-stfc May 27, 2025
b65fd9f
lock writing to checksum log file
Jo-stfc Jun 10, 2025
881795a
cleanup, explicit declaration and initializations to avoid segfault
Jo-stfc Jun 10, 2025
eaedba3
linting improvements and disable streamed checksums for aio as it wou…
Jo-stfc Sep 23, 2025
68f172a
Merge branch 'v5.8.4patched' into xrdceph-otf-checksums
Jo-stfc Sep 23, 2025
6b2b7c0
Merge pull request #36 from stfc/xrdceph-otf-checksums
Jo-stfc Sep 23, 2025
7a88ed9
Merge branch 'v5.8.4patched' into v5.8.2patched
Jo-stfc Sep 23, 2025
f4d0934
Merge pull request #37 from stfc/v5.8.2patched
Jo-stfc Sep 23, 2025
d73cbdb
Merge branch 'v5.9.2patched' into v5.8.4patched
Jo-stfc Mar 30, 2026
731769f
Merge pull request #44 from stfc/v5.8.4patched
Jo-stfc Mar 30, 2026
985e302
Merge branch 'v6.0.0patched' into v5.9.2patched
Apr 13, 2026
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: 0 additions & 1 deletion .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,6 @@ jobs:
run: |
tests/post-install.sh
tests/check-headers.sh

alma8:
name: Alma 8
runs-on: ubuntu-latest
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
$Format:%(describe)$
v5.8.2
253 changes: 253 additions & 0 deletions packaging/makesrpm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
#!/bin/bash
#-------------------------------------------------------------------------------
# Create a source RPM package
# Author: Lukasz Janyst <ljanyst@cern.ch> (10.03.2011)
#-------------------------------------------------------------------------------

#-------------------------------------------------------------------------------
# Print help
#-------------------------------------------------------------------------------
function printHelp()
{
echo "Usage:" 1>&2
echo "${0} [--help] [--source PATH] [--output PATH]" 1>&2
echo " --help prints this message" 1>&2
echo " --source PATH specify the root of the source tree" 1>&2
echo " defaults to ../" 1>&2
echo " --output PATH the directory where the source rpm" 1>&2
echo " should be stored, defaulting to ." 1>&2
echo " --version VERSION the version provided by user" 1>&2
echo " --define 'MACRO EXPR'" 1>&2
}

#-------------------------------------------------------------------------------
# Parse the commandline, if only we could use getopt... :(
#-------------------------------------------------------------------------------
SOURCEPATH=$(realpath $(dirname $0)/..)
OUTPUTPATH="."
PRINTHELP=0
RPM_NAME="xrootd-ceph"

while test ${#} -ne 0; do
if test x${1} = x--help; then
PRINTHELP=1
elif test x${1} = x--source; then
if test ${#} -lt 2; then
echo "--source parameter needs an argument" 1>&2
exit 1
fi
SOURCEPATH=${2}
shift
elif test x${1} = x--output; then
if test ${#} -lt 2; then
echo "--output parameter needs an argument" 1>&2
exit 1
fi
OUTPUTPATH=${2}
shift
elif test x${1} = x--version; then
if test ${#} -lt 2; then
echo "--version parameter needs an argument" 1>&2
exit 1
fi
VERSION="${2}"
shift
elif test x${1} = x--define; then
if test ${#} -lt 2; then
echo "--define parameter needs an argument" 1>&2
exit 1
fi
USER_DEFINE="$USER_DEFINE --define \""${2}"\""
shift
elif test x${1} = x-D; then
if test ${#} -lt 2; then
echo "-D parameter needs an argument" 1>&2
exit 1
fi
USER_D="$USER_D -D \""${2}"\""
fi
shift
done

if test $PRINTHELP -eq 1; then
printHelp
exit 0
fi

echo "[i] Working on: $SOURCEPATH"
echo "[i] Storing the output to: $OUTPUTPATH"

#-------------------------------------------------------------------------------
# Check if the source and the output dirs
#-------------------------------------------------------------------------------
if test ! -d $SOURCEPATH -o ! -r $SOURCEPATH; then
echo "[!] Source path does not exist or is not readable" 1>&2
exit 2
fi

if test ! -d $OUTPUTPATH -o ! -w $OUTPUTPATH; then
echo "[!] Output path does not exist or is not writeable" 1>&2
exit 2
fi

#-------------------------------------------------------------------------------
# Check if we have all the necassary components
#-------------------------------------------------------------------------------
if ! command -v rpmbuild 2>/dev/null; then
echo "[!] Unable to find rpmbuild, aborting..." 1>&2
exit 1
fi

if ! command -v git 2>/dev/null; then
echo "[!] Unable to find git, aborting..." 1>&2
exit 1
fi

#-------------------------------------------------------------------------------
# Check if the source is a git repository
#-------------------------------------------------------------------------------
if test ! -d $SOURCEPATH/.git; then
echo "[!] I can only work with a git repository" 1>&2
exit 2
fi

: ${VERSION:=$(git --git-dir=$SOURCEPATH/.git describe)}
: ${RELEASE:=1}

if test $? -ne 0; then
echo "[!] Unable to figure out the version number" 1>&2
exit 4
fi

echo "[i] Working with version: $VERSION"

#-------------------------------------------------------------------------------
# Sanitize version to work with RPMs
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/
#-------------------------------------------------------------------------------
RELEASE=4
if test x`echo $VERSION | grep -E $RCEXP` != x; then
RELEASE=0.`echo $VERSION | sed 's/.*-rc/rc/'`
VERSION=`echo $VERSION | sed 's/-rc.*//'`
fi

VERSION=${VERSION#v} # remove "v" prefix
VERSION=${VERSION/-rc/~rc} # release candidates use ~ in RPMs
VERSION=${VERSION/-g*/} # snapshots versions not supported well, filter out
VERSION=${VERSION/-/.post} # handle git describe for post releases
VERSION=${VERSION//-/.} # replace remaining dashes with dots

echo "[i] RPM compliant version: $VERSION-$RELEASE"

#-------------------------------------------------------------------------------
# Create a tempdir and copy the files there
#-------------------------------------------------------------------------------
# exit on any error
set -e

TEMPDIR=`mktemp -d /tmp/xrootd.srpm.XXXXXXXXXX`
RPMSOURCES=$TEMPDIR/rpmbuild/SOURCES
mkdir -p $RPMSOURCES
mkdir -p $TEMPDIR/rpmbuild/SRPMS

echo "[i] Working in: $TEMPDIR" 1>&2

if test -d rhel -a -r rhel; then
for i in rhel/*; do
cp $i $RPMSOURCES
done
fi

if test -d common -a -r common; then
for i in common/*; do
cp $i $RPMSOURCES
done
fi

#-------------------------------------------------------------------------------
# Generate the spec file
#-------------------------------------------------------------------------------
if test ! -r rhel/xrootd.spec.in; then
echo "[!] The specfile template does not exist!" 1>&2
exit 7
fi
cat rhel/xrootd.spec.in | sed "s/__VERSION__/$VERSION/" | \
sed "s/__RELEASE__/$RELEASE/" > $TEMPDIR/xrootd.spec

#-------------------------------------------------------------------------------
# Make a tarball of the latest commit on the branch
#-------------------------------------------------------------------------------
# no more exiting on error
set +e

CWD=$PWD
cd $SOURCEPATH
COMMIT=`git log --pretty=format:"%H" -1`

if test $? -ne 0; then
echo "[!] Unable to figure out the git commit hash" 1>&2
exit 5
fi

git describe --tags --abbrev=0 --exact-match >/dev/null 2>&1
if test ${?} -eq 0; then
TAG="`git describe --tags --abbrev=0 --exact-match`"
fi

git archive --prefix=xrootd/ --format=tar $COMMIT > $RPMSOURCES/xrootd.tar

if test $? -ne 0; then
echo "[!] Unable to create the source tarball" 1>&2
exit 6
fi

#-------------------------------------------------------------------------------
# gzip the tarball
#-------------------------------------------------------------------------------
gzip -9fn $RPMSOURCES/xrootd.tar

#-------------------------------------------------------------------------------
# Check if we need some other versions
#-------------------------------------------------------------------------------
OTHER_VERSIONS=`cat $TEMPDIR/xrootd.spec | \
grep -E '^Source[0-9]+:[[:space:]]*xrootd-.*.gz$' |\
awk '{ print $2; }'`

for VER in $OTHER_VERSIONS; do
VER=${VER/xrootd-/}
VER=${VER/.tar.gz/}

git archive --prefix=xrootd-$VER/ --format=tar v$VER | gzip -9fn > \
$RPMSOURCES/xrootd-$VER.tar.gz

if test $? -ne 0; then
echo "[!] Unable to create the source tarball" 1>&2
exit 9
fi
done
cd $CWD

#-------------------------------------------------------------------------------
# Build the source RPM
#-------------------------------------------------------------------------------
echo "[i] Creating the source RPM..."

# Dirty, dirty hack!
echo "%_sourcedir $RPMSOURCES" >> $TEMPDIR/rpmmacros
eval "rpmbuild --define \"_topdir $TEMPDIR/rpmbuild\" \
--define \"%_sourcedir $RPMSOURCES\" \
--define \"%_srcrpmdir %{_topdir}/SRPMS\" \
--define \"_source_filedigest_algorithm md5\" \
--define \"_binary_filedigest_algorithm md5\" \
${USER_DEFINE} \
${USER_D} \
-bs $TEMPDIR/xrootd.spec > $TEMPDIR/log"
if test $? -ne 0; then
echo "[!] RPM creation failed" 1>&2
exit 8
fi

cp $TEMPDIR/rpmbuild/SRPMS/xrootd*.src.rpm $OUTPUTPATH
rm -rf $TEMPDIR

echo "[i] Done."
5 changes: 4 additions & 1 deletion src/XrdCeph/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,15 @@ else()
endif()
endif()

include_directories( ${RADOS_INCLUDE_DIR} )

set(BUILD_CEPH TRUE CACHE BOOL INTERNAL FORCE)

add_library(XrdCephPosix SHARED
XrdCephPosix.cc XrdCephPosix.hh
XrdCephBulkAioRead.cc XrdCephBulkAioRead.hh)


target_compile_options(XrdCephPosix
PRIVATE -Wno-deprecated-declarations)

Expand Down Expand Up @@ -53,7 +56,7 @@ add_library(${LIB_XRD_CEPH} MODULE
)

target_link_libraries(${LIB_XRD_CEPH}
PRIVATE XrdCephPosix XrdUtils XrdServer ${RADOS_LIBS})
PRIVATE ${XROOTD_LIBRARIES} XrdCephPosix XrdUtils XrdServer ${RADOS_LIBS})

set(LIB_XRD_CEPH_XATTR XrdCephXattr-${PLUGIN_VERSION})

Expand Down
Loading
Loading