Git Product home page Git Product logo

cvmfs's Introduction

Build Status Documentation Status DOI

CernVM-File System (CernVM-FS)

The CernVM-File System provides a scalable, reliable and low-maintenance software distribution service. It was developed to assist High Energy Physics (HEP) collaborations to deploy software on the worldwide-distributed computing infrastructure used to run data processing applications. CernVM-FS is implemented as a POSIX read-only file system in user space (a FUSE module). Files and directories are hosted on standard web servers and mounted in the universal namespace /cvmfs. Internally, CernVM-FS uses content-addressable storage and Merkle trees in order to maintain file data and meta-data. CernVM-FS uses outgoing HTTP connections only, thereby it avoids most of the firewall issues of other network file systems. It transfers data and meta-data on demand and verifies data integrity by cryptographic hashes.

By means of aggressive caching and reduction of latency, CernVM-FS focuses specifically on the software use case. Software usually comprises many small files that are frequently opened and read as a whole. Furthermore, the software use case includes frequent look-ups for files in multiple directories when search paths are examined.

Content is published into /cvmfs by means of dedicated "release manager machines". The release manager machines provide a writable CernVM-FS instance by means of a union file system (e.g., overlayfs) on top of the read-only client. When publishing, the CernVM-FS server tools process new and modified data from the union file system's writable branch and transform the data into the CernVM-FS storage format.

CernVM-FS is actively used by small and large scientific collaborations. In many cases, it replaces package managers and shared software areas on cluster file systems as means to distribute the software used to process experiment data.

Non-exhaustive List of Resources Related to CernVM-FS

  • Official Documentation
    • Aimed at maintainers of CernVM-FS instances, users and developers. Contains many in-depth explanations and a complete list of all (client) configuration parameters in the appendix.
  • Quickstart Guide for Developers
    • Aimed at developers. Includes how to contribute, code style, many short coding examples how to set up a working CernVM-File System, and how to test and debug.
  • cvmfs-contrib
    • Community-contributed packages related to CernVM-FS but not maintained by the CernVM-FS developer team.

How to Get in Touch With Us

  • CernVM Forum For support questions, or problems you encounter.
  • GitHub Issues For bug reporting or feature requests. This issue tracker is used for all CernVM-FS-related repositories.

cvmfs's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cvmfs's Issues

DUCC error when importing certain docker images

Dear CVMFS team,

I get an error when importing certain docker images that seem to contain certain entries in /dev - is this a problem in cvmfs_ducc or in the image?

INFO[0064] Start ingesting                               action=ingesting target=/tmp/conversion997247706/singularity_buffer229906545
INFO[0064] Start transaction                             action=ingesting target=/tmp/conversion997247706/singularity_buffer229906545
INFO[0064] [cvmfs_server transaction neurodesk.ardc.edu.au]  action=executing
INFO[0064] Copying target into path                      action=ingesting path=/cvmfs/neurodesk.ardc.edu.au/.flat/75/7539264eb725d5d6198e004d2daf9d76c8ceaa19f32e530f810fe9617b9c28be target=/tmp/conversion997247706/singularity_buffer229906545
ERRO[0064] Error in moving the target inside the CVMFS repo  error="open /tmp/conversion997247706/singularity_buffer229906545/dev/agpgart: no such device" repo=neurodesk.ardc.edu.au target=/tmp/conversion997247706/singularity_buffer229906545
INFO[0064] [cvmfs_server abort -f neurodesk.ardc.edu.au]  action=executing
INFO[0090] Process alive
ERRO[0109] Error in ingesting the singularity image into the CVMFS repository  error="open /tmp/conversion997247706/singularity_buffer229906545/dev/agpgart: no such device"
ERRO[0109] Error in converting wish (singularity), going on  error="open /tmp/conversion997247706/singularity_buffer229906545/dev/agpgart: no such device" input image="https://registry.hub.docker.com/vnmd/tgvqsm_1.0.0:20210215" output image="https://registry.hub.docker.com/vnmd/tgvqsm_1.0.0:20210215_thin" repository=neurodesk.ardc.edu.au

incompatibility with newer versions of libattr

When trying to compile on my latest archlinux, I get this

CMake Error at CMakeLists.txt:284 (message):
  attr/xattr.h is missing on your system
Call Stack (most recent call first):
  CMakeLists.txt:292 (pedantic_include_check)
  CMakeLists.txt:317 (look_for_include_files)

cvmfs_ducc: support `application/vnd.oci.image.manifest.v1+json` manifest

Hello,

If we build and push an image with podman or buildah to a local registry, executing cvmfs_ducc convert would cause the following error :

{ "errors":[{ "code": "MANIFEST_UNKNOWN", "message": "OCI manifest found, but accepted header does not support OCI manifests"}]}

ERRO[0001] Error in getting manifest to determine singleton path error="Got empty manifest"
WARN[0001] Error in obtaining the path to save the Singularity file system: Got empty manifest error="Got empty manifest"
ERRO[0001] Error in converting wish (singularity), going on error="Error in getting the path where to save Singularity filesystem : Got empty manifest" input image="http://localhost:5000/library/symbolic-link:latest" output image="http://registry.fake/thin/library/symbolic-link:latest" repository=unpacked.fake

This is because podman and buildah use an OCI manifest by default.

On the client side, this can be fixed by using :

podman build -t <tag> --format docker .
# For buildah
buildah commit --format docker "$ctr" "<tag>"

On the cvmfs_ducc side, it would be great if DUCC could support application/vnd.oci.image.manifest.v1+json.

req.Header.Set("Accept", "application/vnd.docker.distribution.manifest.v2+json")

The documentation of the OCI manifest is written here: https://github.com/opencontainers/image-spec/blob/main/manifest.md

git clone error

Doing a simple git clone on Windows , this error comes up

git.exe clone --progress -v "https://github.com/cvmfs/cvmfs" "M:\cvmfs"
Cloning into 'M:\cvmfs'...
POST git-upload-pack (gzip 7625 to 3546 bytes)
remote: Enumerating objects: 310, done.
remote: Counting objects: 100% (310/310), done.
remote: Compressing objects: 100% (185/185), done.
remote: Total 91087 (delta 180), reused 216 (delta 115), pack-reused 90777
Receiving objects: 100% (91087/91087), 160.61 MiB | 10.80 MiB/s, done.
Resolving deltas: 100% (65485/65485), done.
error: invalid path 'test/unittests/aux/tar_files.h'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

Implement caching of external dependency builds for CI

Cache builds of all external dependencies to improve CI speed.

  • Create a tarball of externals for each platform and architecture and store them in a CERN S3 bucket
  • During CVMFS build jobs, regenerate the tarballs if any changes to the /externals dir are detected.

cvmfs tarball creation for ecsft

Currently, the cvmfs.tar.gz in https://ecsft.cern.ch/dist/cvmfs/ is created by a script in cvmfs/ci. This is okish, but a bit unusual, as it creates a tarball unpacking to cvmfs/... as expected by external build systems (OBS, COPR). I naiively thought downloading the tar.gz from this github repo would be sufficient, but it gives a tarball unpacking to cvmfs/cvmfs/... failing on external platforms.

I didn't find a script which is responsible for populating ecsft.cern.ch/dist/cvmfs. If such a script exists, it could be modified to also copy the spec file as cvmfs.spec, possibly with versioning.

EIO when entry changes file type

Hi,

If an entry on a cvmfs file system changes file type (eg from a symlink to a directory), this can cause kernel to emit an EIO on a stat() / getattr() operation. This arises in
fs/fuse/dir.c at https://github.com/torvalds/linux/blob/bc491fb12513e79702c6f936c838f792b5389129/fs/fuse/dir.c#L1003 .
The cause of this is that CVMFS preserves inode numbers across a catalog reload, but doesn't account for the possibility of changing type. This means that the kernel can see an inode file type changing between successive lookup/getattr operations. This, apparently, breaks a fundamental assumption in the kernel https://www.spinics.net/lists/linux-fsdevel/msg190819.html .
This can be mitigated by globally disabling kernel caching with CVMFS_KCACHE_TIMEOUT=0 or by setting the specific inode's entry timeout to zero.

The EIO only happens once. That causes the kernel to invalide the inode, and a fuse forget is sent to CVMFS. This drops the cached inode entry and the next operation on the entry causes a new path->inode lookup resulting in a new inode number.

I'm not actually sure if there's a general solution to this that won't push a race elsewhere. Our specific scenario is the conversion of a symlink (that points to an off-cvmfs directory) into a directory of the same name.

Steps to repro:

  1. Set up a repro publishing loop that changes an entry from a directory to a symlink on alternate publications. Make the repo TTL 1sec.
  2. Mount the repo on a client and do a tight loop lstat()ing that entry, noting errno. - EIOs should quickly appear.

Cache cleanup does not discard currently open files

We have a slightly unusual issue with an application that operates with large numbers of open file handles. This results in the CVMFS client holding open file handles to the cached chunks that correspond to the current file positions (via the file handle cache in chunk_tables->handle2fd).

When attempting a cache cleanup via cvmfs_talk cleanup 0 or similar, the cached chunk files are therefore unlinked from the cache directory but are not freed until the application subsequently closes its file handle (or reads to the next chunk). This prevents cvmfs_talk cleanup from freeing the expected amount of disk space and, in extreme circumstances, can leave the cache device with insufficient space to download new files.

The CVMFS client is already capable of (re)opening the underlying cached chunk file as necessary, but there is currently no logic that would cause it to close the cached chunk file in response to a cache cleanup event.

I see two viable approaches to this problem:

  1. Extend the FileWatcher mechanism to be able to monitor a whole directory tree (including subdirectories), watch the cache directory, and react to deletions by closing any corresponding cached chunk file handles.
  2. Close all cached chunk file handles whenever a cache cleanup operation completes.

Option 1 has the advantage of working regardless of how the cache gets cleaned (e.g. it would correctly handle a manual rm -rf). Option 2 is probably a lot simpler to implement.

@jblomer Do you have any thoughts on which method you would prefer?

CVMFS nioerr xattr not working?

In OSG, we've started to plot the nioerr xattr for each running pilot. The idea is that we can quickly detect errors

Suspiciously, across the entire grid, we've never seen this counter go above zero - despite an occasional bad host that causes a large number of jobs to fail with EIO.

Any clue if this counter actually functions? A quick scan through the code suggests that there might at least be some code paths where it isn't incremented (failures in opening chunks, for example) for file opens and it's not incremented if the EIO occurs for lookups, readdirs, or stats.

Performance degradation at high core counts

As discussed with @elmsheus, ATLAS build machines using sources/dependencies from cvmfs see a performance degradation from around 32 cores to 64 cores.

@elmsheus @krasznaa If you could give us instructions on how to build Athena on a vanilla CentOS 7 node, we can try to reproduce the issue on our 64 core machine.

cvmfs_ducc: unable to redefine 'n' shorthand in "garbage-collection" flagset: it's already used for "dry-run" flag

$ cvmfs_ducc gc help
panic: unable to redefine 'n' shorthand in "garbage-collection" flagset: it's already used for "dry-run" flag

goroutine 1 [running]:
github.com/spf13/pflag.(*FlagSet).AddFlag(0xc0000b5900, 0xc00038c5a0)
	/root/go/pkg/mod/github.com/spf13/[email protected]/flag.go:862 +0x3f5
github.com/spf13/pflag.(*FlagSet).AddFlagSet.func1(0xc00038c5a0)
	/root/go/pkg/mod/github.com/spf13/[email protected]/flag.go:875 +0x65
github.com/spf13/pflag.(*FlagSet).VisitAll(0x12, 0xc00025fc80)
	/root/go/pkg/mod/github.com/spf13/[email protected]/flag.go:278 +0xe3
github.com/spf13/pflag.(*FlagSet).AddFlagSet(0xbc3580, 0x2)
	/root/go/pkg/mod/github.com/spf13/[email protected]/flag.go:873 +0x3d
github.com/spf13/cobra.(*Command).mergePersistentFlags(0xbc3580)
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:1495 +0x65
github.com/spf13/cobra.stripFlags({0xc0002f3f20, 0x1, 0x1}, 0x1)
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:474 +0x5b
github.com/spf13/cobra.(*Command).Find.func1(0xc000020190, {0xc0002f3f20, 0x1, 0x1})
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:533 +0x49
github.com/spf13/cobra.(*Command).Find.func1(0xbc3a40, {0xc000020190, 0x2, 0x2})
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:541 +0xb1
github.com/spf13/cobra.(*Command).Find(0x7fff3ef49de0, {0xc000020190, 0xc00005e708, 0x4400f1})
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:546 +0x53
github.com/spf13/cobra.(*Command).ExecuteC(0xbc3a40)
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:833 +0x150
github.com/spf13/cobra.(*Command).Execute(...)
	/root/go/pkg/mod/github.com/spf13/[email protected]/command.go:800
github.com/cvmfs/ducc/cmd.EntryPoint(...)
	/root/cvmfs/ducc/cmd/root.go:37
main.main()
	/root/cvmfs/ducc/main.go:8 +0x25

Cause:

rootCmd.PersistentFlags().StringVarP(&lib.NotificationFile, "notification-file", "n", "", "File where to publish notification about DUCC progression")

Conflict with:

garbageCollectionCmd.Flags().BoolVarP(&dryRun, "dry-run", "n", false, "Dry run the garbage collection")

Because --notification-file is a persistent flag, the shorthand -n is already used and cannot be reused for --dry-run.

A simple fix:

-	garbageCollectionCmd.Flags().BoolVarP(&dryRun, "dry-run", "n", false, "Dry run the garbage collection")
+	garbageCollectionCmd.Flags().BoolVar(&dryRun, "dry-run", false, "Dry run the garbage collection")
	rootCmd.AddCommand(garbageCollectionCmd)

Nested catalog merge optimisation

I have done some investigation of using cvmfs-gateway to handle large volumes of grafted files. My experiments suggest that we are currently missing a key optimisation that could increase the throughput by a factor of a hundred or more.

In catalog_diff_tool_impl.h there exists an optimisation:

// Early recursion stop if nested catalogs are identical
shash::Any id_nested_from, id_nested_to;
id_nested_from = old_catalog_mgr_->GetNestedCatalogHash(old_path);
id_nested_to = new_catalog_mgr_->GetNestedCatalogHash(new_path);
assert(!id_nested_from.IsNull() && !id_nested_to.IsNull());
if (id_nested_from == id_nested_to) continue;

The above optimisation eliminates the need to recurse into nested catalog mountpoints to find differences when the nested catalogs to be compared are known to be identical. With a well-structured repository, this can eliminate 99% of the work required to find the difference between old and new catalogs.

A similar optimisation is available when performing a merge operation. At the point that the ReportModification() callback is called: if both entry1 and entry2 are nested catalog mountpoints, then we could just call UpdateNestedCatalog() to record the new hash value for the nested catalog. Having done this, there would be no need to recurse into the nested catalog mountpoints, because the act of updating the hash would have already performed all of the required changes. Something along the lines of patching:

if (entry1.IsDirectory() && entry2.IsDirectory()) {
// From directory to directory
const catalog::DirectoryEntryBase* base_entry =
static_cast<const catalog::DirectoryEntryBase*>(&entry2);
output_catalog_mgr_->TouchDirectory(*base_entry, xattrs, rel_path.c_str());
if (!entry1.IsNestedCatalogMountpoint() &&
entry2.IsNestedCatalogMountpoint()) {
output_catalog_mgr_->CreateNestedCatalog(std::string(rel_path.c_str()));
} else if (entry1.IsNestedCatalogMountpoint() &&
!entry2.IsNestedCatalogMountpoint()) {
output_catalog_mgr_->RemoveNestedCatalog(std::string(rel_path.c_str()));
}
perf::Inc(counters_->n_directories_changed);

to become:

  if (entry1.IsDirectory() && entry2.IsDirectory()) {
    // From directory to directory
    const catalog::DirectoryEntryBase* base_entry =
        static_cast<const catalog::DirectoryEntryBase*>(&entry2);
    output_catalog_mgr_->TouchDirectory(*base_entry, xattrs, rel_path.c_str());
    if (entry1.IsNestedCatalogMountpoint() &&
        entry2.IsNestedCatalogMountpoint()) {
      // ... get new hash and size from entry2 ...
      output_catalog_mgr_->UpdateNestedCatalog(std::string(rel_path.c_str()),
                                               new_hash, new_size);
      return true; // skip recursion into nested catalog mountpoints
    } else if (!entry1.IsNestedCatalogMountpoint() &&
        entry2.IsNestedCatalogMountpoint()) {
      output_catalog_mgr_->CreateNestedCatalog(std::string(rel_path.c_str()));
    } else if (entry1.IsNestedCatalogMountpoint() &&
               !entry2.IsNestedCatalogMountpoint()) {
      output_catalog_mgr_->RemoveNestedCatalog(std::string(rel_path.c_str()));
    }
    perf::Inc(counters_->n_directories_changed);
  } ...

There is a WritableCatalog::UpdateNestedCatalog() that appears to include the logic for updating the nested_catalogs table, but it's not clear to me how to obtain the hash, size and child_counters values from entry2.

The ReportModification callback would also need to be modified to allow a return value to indicate whether or not to continue recursing, but that is a very straightforward change.

To put some concrete performance numbers around this: on my test system, when using cvmfs_swissknife sync without a gateway, I measure:

  • 22,000 files per second (45 ยตs/file) for filesystem traversal and graft file parsing
  • 50,000 files per second (20 ยตs/file) for SQLite3 database insertion
  • 15,000 files per second (65 ยตs/file) combined

However, when running the gateway instead (on the same test hardware), I measure only:

  • 5,000 files per second (200 ยตs/file) for catalog diff and merge

The gateway is therefore slowing down, rather than speeding up, the overall publication process, and this seems to be due solely to the overhead of the recursive merge. With the suggested catalog merge optimisation (and a suitably structured repository), the time taken for the catalog diff and merge should become O(1) rather than O(n) in the number of changed files, and the gateway would no longer be the bottleneck.

Questions:

  • What is the correct way to get the hash, size, and child_counters values from entry2 for the eventual call to WritableCatalog::UpdateNestedCatalog()?
  • All the existing code in CatalogMergeTool<RwCatalogMgr, RoCatalogMgr>::ReportModification() uses output_catalog_mgr_ to effect changes to the output catalog. This suggests that a WriteableCatalogManager::UpdateNestedCatalog() method should be created, rather than having ReportModification() call WritableCatalog::UpdateNestedCatalog directly. Stylistically, what should the parameters look like for this WriteableCatalogManager::UpdateNestedCatalog() method?
  • Are there any other actions that would need to be taken to ensure a correct outcome (e.g. updating counters, dealing with inode numbers, etc)?
  • Could anyone help implement this? It should massively improve the gateway throughput, but I'm not confident that I understand the catalog internals well enough to implement it myself.

Problems with using a CVMFS MPI application inside a Singularity container

In EESSI/filesystem-layer#37 I've created a script for an HPC system to create an alien cache in a shared space that can be used by execution nodes that are not connected to the internet (all done inside a Singularity container).

Everything works fine until I try to execute an application in parallel, the problems arise when I try to run an application using MPI (see EESSI/filesystem-layer#38 for details). The basic error is

Failed to initialize loader socket

which leads to a Fatal error. Is there anything I can do to get around this? I suspect it might be due to this envvar

export SINGULARITY_BIND="$SINGULARITY_CVMFS_RUN:/var/run/cvmfs,$SINGULARITY_CVMFS_LIB:/var/lib/cvmfs,$SINGULARITY_CVMFS_ALIEN:/alien,$SINGULARITY_HOMEDIR/default.local:/etc/cvmfs/default.local"

and some kind of race condition (it did work for 2 MPI processes, worked sometimes for 4 and never for 6).

cvmfs_preload from Stratum 1

Following on from #2606 where we use a pre-populated cache for HPC MPI workloads, I'm concerned that this approach is not scalable at all since it will send all the load to Stratum-0 (so we can't really widely suggest it). In the docs it is very clear that this is the case, so I guess this is a feature request to ask if it could be possible to do an initial copy from Stratum-1 and only fall back to Stratum-0 for a final verification of whether the cache is up to date.

S3Uploader::MainCollectResults is a CPU spinloop

The current logic in S3Uploader::MainCollectResults() is a pure CPU spinloop that lasts for the duration of any S3 upload. The call to sched_yield() ensures that other threads are allowed to execute, but produces no blocking behaviour that will prevent the mostly-idle thread from consuming 100% of a CPU core.

Originally mentioned in #2720 (comment) but this turns out to be a more severe variant of the issue: this loop consumes 100% CPU at all times, not just while waiting for the final job to complete.

Build newer cvmfs2 release for PowerPC

Dears,

we have installed 2.3.3 version on a development powerpc machine, which is working, but often fails (every 3 days on average) and the client needs restart or the machine - reboot, when the client remount doesn't help.
I tried building it myself on that machine:

lscpu
Architecture:          ppc64le
Byte Order:            Little Endian
CPU(s):                128
On-line CPU(s) list:   0-127
Thread(s) per core:    8
Core(s) per socket:    8
Socket(s):             2
NUMA node(s):          2
Model:                 1.0 (pvr 004c 0100)
Model name:            POWER8NVL (raw), altivec supported

but I didn't know many details about the requirements like what version of fuse goes for what version of cvmfs, how to deal with the missing types from capability.h or how you dealt with it when you built 2.3.3, how to set cmake vars such that not only to configure but to build without complains that something is not found (although it was set with cmake).

In short - could you build new version for powerpc ? Newer client versions has proven to work better, we had the same issue on arm and installing 2.6 fixed it.

If not - could you help me do it if I explain the details (where I am and what is missing) ?
Thank you in advance,
Cheers,
Mircho

cvmfs rpm creation: use rpmlint to check cvmfs-universal.spec

the script cvmfs/ci/makerpm.sh does the local rpm build. I would suggest to check at this point the validity of the cvmfs-universal.spec with the rpmlint command and fail the rpm-build in ci if rpmlint has complaints. This connects with my PR for updates to cvmfs-universal.spec for a successful build on OBS. Checking spec file consistency in ci keeps it clean and increases chances of a successful OBS/COPR builds

Add support for image registry proxies

Provide the option to define a proxy for an input registry. Manifest and image download requests should be directed to the proxy for images belonging to the registry.

cvmfs_server ingest fails if --base_dir has a trailing /

Adding a trailing / to the --base_dir argument (which is implied by this) results in a broken and unreadable directory:

# Works
python ../download_zip_and_convert_to_tar.py | cvmfs_server ingest --tar_file - --base_dir experimental/cburr/test1 lhcbdev.cern.ch
# Doesn't work
python ../download_zip_and_convert_to_tar.py | cvmfs_server ingest --tar_file - --base_dir experimental/cburr/test2/ lhcbdev.cern.ch
$ ls -l /cvmfs/lhcbdev.cern.ch/experimental/cburr/*
/cvmfs/lhcbdev.cern.ch/experimental/cburr/test1:
total 5
drwxr-xr-x 30 cvlhcbdev cvlhcbdev 4096 Oct 19 14:48 Gaudi

/cvmfs/lhcbdev.cern.ch/experimental/cburr/test2:
ls: reading directory /cvmfs/lhcbdev.cern.ch/experimental/cburr/test2: Input/output error
total 0

[Feature Request] View current transaction state

It would be helpful for coordination between multiple admins to know if a transaction is currently underway before starting one. Something along the lines of cvmfs_server check-transaction-status <repository-name>
My current workaround is to start a transaction and see if it fails.

Include GO 1.18 as external dependency

To fix rebuilding rpms from source rpms, add GO 1.18 as external dependency, compile it with the system GO and use it to build the gateway and container tools (ducc) components. Remove explicit installs of GO 1.17 from the build images and keep only system golang packages.

Implement rotation of stats.db

The /var/spool/cvmfs/<REPO>/stats.db file should be rotated based on creation time and size, to avoid it growing unbounded.

The rotation thresholds should be configurable:

  • CVMFS_STATSDB_ROTATION_MAX_DAYS - default 30
  • CVMFS_STATSDB_ROTATION_MAX_SIZE_BYTES - default 5 * 1024 * 1024 (5 MB)

Python3 support?

Debian Bullseye, to be released in a few months, will supposedly drop Python2, making python3 the only python. Is it planned to replace Python2 with Python3? There are no Bullseye builds available from the packagecloud yet (neither are arm64 builds, which was the primary reason why I'm looking into building myself at all).

A build attempt with python3-all-dev and python3-setuptools in the Build-Depends: results in a "cannot import name 'Feature' from 'setuptools'" in MaxMindDB, an error that was fixed in Debian's version 1.4.1 (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959544 for details and a link to the patch applied).
CVMFS 2.7.5 comes with MaxMindDB 1.4.0 ... but the patch can easily be modified.

(Another issue with MaxMindDB is that maxminddb/extension/maxminddb.c #includes <maxminddb.h> which isn't provided.)

Any advice?

Build broken on macOS 10.15

No longer able to build on macOS 10.15 using Xcode Command Line Tools 12.4 (latest version supporting macOS 10.15).

Helm charts for cvmfs-enabled clusters

In order to support kubernetes clusters where the pods have access to cvmfs, it would be helpful to have a standard set of helm charts that make /cvmfs available and deploy squid caches.

The cvmfs client should probably be deployed as a DaemonSet using the cvmfs service container as demonstrated in the integration tests.

There is already some code available from where we could start to consolidate:

In this issue, we should aim for client-only charts. For testing, we should aim for reusing the minikube setup in the integration tests. Helm charts can eventually be published to the CERN Harbor registry.

cvmfs mount segmentation fault in macos 1015 github-actions

Since about 1 week ago the github actions running on macos 1015 and mounting CVMFS repositories are failing with

https://github.com/AIDASoft/DD4hep/runs/5724820416?check_suite_focus=true#step:3:155

mount: /Users/Shared/cvmfs/sft.cern.ch: Segmentation fault
mount: /Users/Shared/cvmfs/geant4.cern.ch: Segmentation fault
Error: Process completed with exit code 69.

I tried using older cvmfs releases e.g., AIDASoft/DD4hep#900
as there was a new cvmfs-latest.pkg file on March 23 but that didn't help.

Between the last successful run and the failures I see this difference in the update version of macos

working: https://github.com/AIDASoft/DD4hep/runs/5631738281?check_suite_focus=true#step:1:3

  Mac OS X
  10.15.7
  19H1713

Failing: https://github.com/AIDASoft/DD4hep/runs/5681443820?check_suite_focus=true#step:1:5

  Mac OS X
  10.15.7
  19H1824

Of course there could be other causes of why this fails, but I don't have a good way of testing against different macos versions.
Here is the diff for the macos used in github actions, maybe something is apparent to you:
actions/runner-images@5a14088

Swapping nested subcatalogs fails within a newly created parent catalog

Converting an existing directory to a nested catalog will cause any child catalogs of the new catalog to become attached. This violates the assumption in SwapNestedCatalog() that the catalog about to be swapped out has not yet been attached to the tree.

The issue can be reproduced with a sequence such as:

# Initial setup
cvmfs_server transaction ${reponame}
mkdir ${repodir}/tree/branch
touch ${repodir}/tree/branch/.cvmfscatalog
cvmfs_server publish ${reponame}

# Trigger failure
cvmfs_server transaction ${reponame}
touch ${repodir}/tree/.cvmfscatalog                   # Convert directory to nested catalog
echo "hello world" > ${repodir}/tree/branch/hw.txt    # Modify child catalog in same transaction
cvmfs_server publish ${reponame}

This causes an assertion failure failed to swap nested catalog '/tree/branch': already attached

SessionContext::UploadLoop becomes a CPU spinloop

The existing code in SessionContext::UploadLoop():

while (!ctx->ShouldTerminate()) {
while (jobs_processed < ctx->NumJobsSubmitted()) {
UploadJob* job = ctx->upload_jobs_->Dequeue();
if (!ctx->DoUpload(job)) {
PANIC(kLogStderr,
"SessionContext: could not submit payload. Aborting.");
}
job->result->Set(true);
delete job->pack;
delete job;
jobs_processed++;
}
if (ctx->queue_was_flushed_.IsEmpty()) {
ctx->queue_was_flushed_.Enqueue(true);
}
}

uses a simple (atomic) integer flag to indicate that the loop should terminate:
bool SessionContext::ShouldTerminate() {
return atomic_read32(&worker_terminate_);
}

At the point that all jobs have been submitted (i.e. jobs_processed is equal to ctx->NumJobsSubmitted()) but the jobs have not yet completed (because uploading is still in progress), this loop becomes equivalent to:

while (1) {
  // do nothing
}

i.e. a CPU spinloop. This behaviour can be easily observed by publishing anything via a gateway: the publisher will hit 100% CPU usage within cvmfs_swissknife sync, and attaching gdb shows that one thread is just spinning inside SessionContext::UploadLoop().

Waiting on lock_cachedb with tiered cache configuration

I'm submitting this issue here on behalf of @duncanmmacleod because I've been trying to help him with this and he doesn't have access to the CERN jira.

He's been having a problem on his HPC system where users of ligo.osgstorage.org doing normal access of files are blocked with the following message in /var/log/messages:

(ligo.osgstorage.org) another process holds /var/lib/cvmfs/lock_cachedb, waiting.

Their system has a configuration made by a previous system administrator including the following tiered cache configuration in /etc/cvmfs/domain.d/osgstorage.org.local:

$ cat /etc/cvmfs/domain.d/osgstorage.org.local
# Set the local directory for storing special files (defaults to the cache directory).
CVMFS_WORKSPACE=/var/lib/cvmfs
CVMFS_QUOTA_LIMIT=10000
# Tiered Cache The tiered cache manager combines two other cache manager instances as
# an upper layer and a lower layer into a single functional cache manager.
# Usually, a small and fast upper layer (SSD, memory) is combined with a larger
# and slower lower layer (HDD, network drive).
CVMFS_CACHE_PRIMARY=hpc
#
CVMFS_CACHE_hpc_TYPE=tiered
CVMFS_CACHE_hpc_UPPER=disk
CVMFS_CACHE_hpc_LOWER=scratch
CVMFS_CACHE_hpc_LOWER_READONLY=no
#posix Uses a cache directory with the standard cache implementation
CVMFS_CACHE_disk_TYPE=posix
CVMFS_CACHE_disk_BASE=/var/lib/cvmfs/
# An "alien cache" provides the possibility to use a data cache outside the control of CernVM-FS.
# It is safe to have the alien directory shared by multiple CernVM-FS processes and it is safe to unlink files from the alien cache directory anytime.
# Since the alien cache is unmanaged, there is no automatic quota management provided by CernVM-FS;
# the alien cache directory is ever-growing. The CVMFS_ALIEN_CACHE requires CVMFS_QUOTA_LIMIT=-1 and CVMFS_SHARED_CACHE=no.
CVMFS_CACHE_scratch_TYPE=posix
CVMFS_CACHE_scratch_ALIEN=/scratch/LIGO/cvmfs
CVMFS_CACHE_scratch_SHARED=no
CVMFS_CACHE_scratch_QUOTA_LIMIT=-1

/scratch is a lustre filesystem they're sharing between nodes. The cvmfs client version is 2.7.3. In addition to ligo.osgstorage.org, they also use gwosc.osgstorage.org.

Is there something wrong with the configuration? I don't know much about how the tiered cache system works.

Several warnings on gcc10

Installing CVMFS from Arch Linux's AUR results in many compilation warnings.
Most seem to be due to that fact that variables only used within asserts are marked as unused.
It is hard to tell whether other more serious issues are present, the full log is really large.

A small fraction of the build log (1% to 12%):
Scanning dependencies of target cvmfs_fuse_stub
[  1%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/globals.cc.o
[  1%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/hash.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:6:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void loader::Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:6:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc: In function โ€˜void loader::shash::Init(loader::shash::ContextPtr)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:164:14: warning: variable โ€˜keccak_resultโ€™ set but not used [-Wunused-but-set-variable]
  164 |   HashReturn keccak_result;
      |              ^~~~~~~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc: In function โ€˜void loader::shash::Update(const unsigned char*, unsigned int, loader::shash::ContextPtr)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:192:14: warning: variable โ€˜keccak_resultโ€™ set but not used [-Wunused-but-set-variable]
  192 |   HashReturn keccak_result;
      |              ^~~~~~~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc: In function โ€˜void loader::shash::Final(loader::shash::ContextPtr, loader::shash::Any*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:221:14: warning: variable โ€˜keccak_resultโ€™ set but not used [-Wunused-but-set-variable]
  221 |   HashReturn keccak_result;
      |              ^~~~~~~~~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:6:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜loader::shash::Digest::Digest(loader::shash::Algorithms, loader::shash::HexPtr, char) [with unsigned int digest_size_ = 16; loader::shash::Algorithms algorithm_ = loader::shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜loader::shash::Digest::Digest(loader::shash::Algorithms, loader::shash::HexPtr, char) [with unsigned int digest_size_ = 20; loader::shash::Algorithms algorithm_ = loader::shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
[  1%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/loader.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader.cc:47:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h: In member function โ€˜loader::OptionsManager& loader::OptionsManager::operator=(const loader::OptionsManager&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h:207:3: warning: no return statement in function returning non-void [-Wreturn-type]
  207 |   }
      |   ^
      |   return *this;
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader.cc:48:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader.cc:48:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
[  1%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/loader_talk.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader_talk.cc:18:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader_talk.cc:18:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader_talk.cc: In function โ€˜void loader::loader_talk::Spawn()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader_talk.cc:92:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
   92 |   int retval;
      |       ^~~~~~
[  2%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/logging.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:29:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:29:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void loader::SetLogMicroSyslog(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:243:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  243 |   int retval = platform_fstat(usyslog_fd, &info);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void loader::LogMicroSyslog(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:291:11: warning: unused variable โ€˜writtenโ€™ [-Wunused-variable]
  291 |       int written = write(usyslog_fd1, buf, num_bytes);
      |           ^~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:273:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
  273 |   int retval = fsync(usyslog_fd);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void loader::LogCvmfs(loader::LogSource, int, const char*, ...)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:377:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  377 |   int retval = vasprintf(&msg, format, variadic_list);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void loader::LogCustom(unsigned int, const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:520:7: warning: unused variable โ€˜retval_iโ€™ [-Wunused-variable]
  520 |   int retval_i = fsync(customlog_fds[id]);
      |       ^~~~~~~~
[  2%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/options.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:10:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h: In member function โ€˜loader::OptionsManager& loader::OptionsManager::operator=(const loader::OptionsManager&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h:207:3: warning: no return statement in function returning non-void [-Wreturn-type]
  207 |   }
      |   ^
      |   return *this;
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc: In member function โ€˜virtual void loader::BashOptionsManager::ParsePath(const string&, bool)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:162:17: warning: unused variable โ€˜new_sessionโ€™ [-Wunused-variable]
  162 |           pid_t new_session = setsid();
      |                 ^~~~~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc: In member function โ€˜void loader::OptionsManager::ParseDefault(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:283:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  283 |     int retval = setenv("CVMFS_FQRN", fqrn.c_str(), 1);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc: In member function โ€˜void loader::OptionsManager::UpdateEnvironment(const string&, loader::OptionsManager::ConfigValue)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:341:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  341 |     int retval = setenv(param.c_str(), val.value.c_str(), 1);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc: In member function โ€˜std::string loader::OptionsManager::Dump()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:439:10: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
  439 |     bool retval;
      |          ^~~~~~
[  2%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/sanitizer.cc.o
[  3%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/statistics.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc:10:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc:10:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc:13:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜loader::Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc: In constructor โ€˜loader::perf::Statistics::Statistics()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc:107:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  107 |   int retval = pthread_mutex_init(lock_, NULL);
      |       ^~~~~~
[  3%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/util/posix.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/fs_traversal.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:47:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/fs_traversal.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:47:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:51:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜loader::Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::MakePipe(int*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:398:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  398 |   int retval = pipe(pipe_fd);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::Nonblock2Block(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:544:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  544 |   int retval = fcntl(filedes, F_SETFL, flags & ~O_NONBLOCK);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::Block2Nonblock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:555:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  555 |   int retval = fcntl(filedes, F_SETFL, flags | O_NONBLOCK);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::UnlockFile(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:807:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  807 |   int retval = flock(filedes, LOCK_UN);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::BlockSignal(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:1204:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
 1204 |   int retval = sigemptyset(&sigset);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::Daemonize()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:1255:9: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
 1255 |     int retval = setsid();
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜bool loader::ManagedExec(const std::vector >&, const std::set&, const std::map&, bool, bool, pid_t*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:1487:8: warning: variable โ€˜retcodeโ€™ set but not used [-Wunused-but-set-variable]
 1487 |   bool retcode = pipe_fork.Read(&status_code);
      |        ^~~~~~~
In file included from /usr/include/string.h:495,
                 from /usr/include/c++/10.1.0/cstring:42,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/shortstring.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:12:
In function โ€˜char* strncpy(char*, const char*, size_t)โ€™,
    inlined from โ€˜int loader::MakeSocket(const string&, int)โ€™ at /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:247:10:
/usr/include/bits/string_fortified.h:106:34: warning: โ€˜char* __builtin_strncpy(char*, const char*, long unsigned int)โ€™ specified bound 108 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function โ€˜char* strncpy(char*, const char*, size_t)โ€™,
    inlined from โ€˜int loader::ConnectSocket(const string&)โ€™ at /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:343:10:
/usr/include/bits/string_fortified.h:106:34: warning: โ€˜char* __builtin_strncpy(char*, const char*, long unsigned int)โ€™ specified bound 108 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[  3%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse_stub.dir/util/string.cc.o
[  3%] Linking CXX shared library libcvmfs_fuse_stub.so
[  3%] Built target cvmfs_fuse_stub
Scanning dependencies of target cvmfs_fuse3_stub
[  3%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/globals.cc.o
[  3%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/hash.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:6:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void loader::Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:6:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc: In function โ€˜void loader::shash::Init(loader::shash::ContextPtr)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:164:14: warning: variable โ€˜keccak_resultโ€™ set but not used [-Wunused-but-set-variable]
  164 |   HashReturn keccak_result;
      |              ^~~~~~~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc: In function โ€˜void loader::shash::Update(const unsigned char*, unsigned int, loader::shash::ContextPtr)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:192:14: warning: variable โ€˜keccak_resultโ€™ set but not used [-Wunused-but-set-variable]
  192 |   HashReturn keccak_result;
      |              ^~~~~~~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc: In function โ€˜void loader::shash::Final(loader::shash::ContextPtr, loader::shash::Any*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:221:14: warning: variable โ€˜keccak_resultโ€™ set but not used [-Wunused-but-set-variable]
  221 |   HashReturn keccak_result;
      |              ^~~~~~~~~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.cc:6:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜loader::shash::Digest::Digest(loader::shash::Algorithms, loader::shash::HexPtr, char) [with unsigned int digest_size_ = 16; loader::shash::Algorithms algorithm_ = loader::shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜loader::shash::Digest::Digest(loader::shash::Algorithms, loader::shash::HexPtr, char) [with unsigned int digest_size_ = 20; loader::shash::Algorithms algorithm_ = loader::shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
[  3%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/loader.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader.cc:47:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h: In member function โ€˜loader::OptionsManager& loader::OptionsManager::operator=(const loader::OptionsManager&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h:207:3: warning: no return statement in function returning non-void [-Wreturn-type]
  207 |   }
      |   ^
      |   return *this;
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader.cc:48:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader.cc:48:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
[  4%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/loader_talk.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader_talk.cc:18:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader_talk.cc:18:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader_talk.cc: In function โ€˜void loader::loader_talk::Spawn()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/loader_talk.cc:92:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
   92 |   int retval;
      |       ^~~~~~
[  4%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/logging.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:29:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:29:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void loader::SetLogMicroSyslog(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:243:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  243 |   int retval = platform_fstat(usyslog_fd, &info);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void loader::LogMicroSyslog(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:291:11: warning: unused variable โ€˜writtenโ€™ [-Wunused-variable]
  291 |       int written = write(usyslog_fd1, buf, num_bytes);
      |           ^~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:273:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
  273 |   int retval = fsync(usyslog_fd);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void loader::LogCvmfs(loader::LogSource, int, const char*, ...)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:377:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  377 |   int retval = vasprintf(&msg, format, variadic_list);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void loader::LogCustom(unsigned int, const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:520:7: warning: unused variable โ€˜retval_iโ€™ [-Wunused-variable]
  520 |   int retval_i = fsync(customlog_fds[id]);
      |       ^~~~~~~~
[  4%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/options.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:10:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h: In member function โ€˜loader::OptionsManager& loader::OptionsManager::operator=(const loader::OptionsManager&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h:207:3: warning: no return statement in function returning non-void [-Wreturn-type]
  207 |   }
      |   ^
      |   return *this;
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc: In member function โ€˜virtual void loader::BashOptionsManager::ParsePath(const string&, bool)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:162:17: warning: unused variable โ€˜new_sessionโ€™ [-Wunused-variable]
  162 |           pid_t new_session = setsid();
      |                 ^~~~~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc: In member function โ€˜void loader::OptionsManager::ParseDefault(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:283:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  283 |     int retval = setenv("CVMFS_FQRN", fqrn.c_str(), 1);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc: In member function โ€˜void loader::OptionsManager::UpdateEnvironment(const string&, loader::OptionsManager::ConfigValue)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:341:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  341 |     int retval = setenv(param.c_str(), val.value.c_str(), 1);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc: In member function โ€˜std::string loader::OptionsManager::Dump()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.cc:439:10: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
  439 |     bool retval;
      |          ^~~~~~
[  4%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/sanitizer.cc.o
[  5%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/statistics.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc:10:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc:10:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc:13:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜loader::Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc: In constructor โ€˜loader::perf::Statistics::Statistics()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/statistics.cc:107:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  107 |   int retval = pthread_mutex_init(lock_, NULL);
      |       ^~~~~~
[  5%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/util/posix.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/fs_traversal.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:47:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void loader::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/fs_traversal.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:47:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec loader::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:51:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜loader::Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::MakePipe(int*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:398:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  398 |   int retval = pipe(pipe_fd);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::Nonblock2Block(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:544:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  544 |   int retval = fcntl(filedes, F_SETFL, flags & ~O_NONBLOCK);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::Block2Nonblock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:555:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  555 |   int retval = fcntl(filedes, F_SETFL, flags | O_NONBLOCK);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::UnlockFile(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:807:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  807 |   int retval = flock(filedes, LOCK_UN);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::BlockSignal(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:1204:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
 1204 |   int retval = sigemptyset(&sigset);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void loader::Daemonize()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:1255:9: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
 1255 |     int retval = setsid();
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜bool loader::ManagedExec(const std::vector >&, const std::set&, const std::map&, bool, bool, pid_t*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:1487:8: warning: variable โ€˜retcodeโ€™ set but not used [-Wunused-but-set-variable]
 1487 |   bool retcode = pipe_fork.Read(&status_code);
      |        ^~~~~~~
In file included from /usr/include/string.h:495,
                 from /usr/include/c++/10.1.0/cstring:42,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/shortstring.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:12:
In function โ€˜char* strncpy(char*, const char*, size_t)โ€™,
    inlined from โ€˜int loader::MakeSocket(const string&, int)โ€™ at /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:247:10:
/usr/include/bits/string_fortified.h:106:34: warning: โ€˜char* __builtin_strncpy(char*, const char*, long unsigned int)โ€™ specified bound 108 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function โ€˜char* strncpy(char*, const char*, size_t)โ€™,
    inlined from โ€˜int loader::ConnectSocket(const string&)โ€™ at /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:343:10:
/usr/include/bits/string_fortified.h:106:34: warning: โ€˜char* __builtin_strncpy(char*, const char*, long unsigned int)โ€™ specified bound 108 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[  5%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3_stub.dir/util/string.cc.o
[  6%] Linking CXX shared library libcvmfs_fuse3_stub.so
[  6%] Built target cvmfs_fuse3_stub
Scanning dependencies of target cvmfs2
[  7%] Building CXX object cvmfs/CMakeFiles/cvmfs2.dir/fuse_main.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/fuse_main.cc:21:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void stub::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void stub::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/fuse_main.cc:21:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec stub::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
[  7%] Building CXX object cvmfs/CMakeFiles/cvmfs2.dir/logging.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:29:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void stub::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void stub::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:29:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec stub::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void stub::SetLogMicroSyslog(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:243:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  243 |   int retval = platform_fstat(usyslog_fd, &info);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void stub::LogMicroSyslog(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:291:11: warning: unused variable โ€˜writtenโ€™ [-Wunused-variable]
  291 |       int written = write(usyslog_fd1, buf, num_bytes);
      |           ^~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:273:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
  273 |   int retval = fsync(usyslog_fd);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void stub::LogCvmfs(stub::LogSource, int, const char*, ...)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:377:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  377 |   int retval = vasprintf(&msg, format, variadic_list);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc: In function โ€˜void stub::LogCustom(unsigned int, const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/logging.cc:520:7: warning: unused variable โ€˜retval_iโ€™ [-Wunused-variable]
  520 |   int retval_i = fsync(customlog_fds[id]);
      |       ^~~~~~~~
[  7%] Building CXX object cvmfs/CMakeFiles/cvmfs2.dir/util/posix.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/fs_traversal.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:47:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void stub::smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void stub::sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/fs_traversal.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:47:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec stub::_time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:51:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜stub::Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void stub::MakePipe(int*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:398:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  398 |   int retval = pipe(pipe_fd);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void stub::Nonblock2Block(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:544:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  544 |   int retval = fcntl(filedes, F_SETFL, flags & ~O_NONBLOCK);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void stub::Block2Nonblock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:555:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  555 |   int retval = fcntl(filedes, F_SETFL, flags | O_NONBLOCK);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void stub::UnlockFile(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:807:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  807 |   int retval = flock(filedes, LOCK_UN);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void stub::BlockSignal(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:1204:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
 1204 |   int retval = sigemptyset(&sigset);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜void stub::Daemonize()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:1255:9: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
 1255 |     int retval = setsid();
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc: In function โ€˜bool stub::ManagedExec(const std::vector >&, const std::set&, const std::map&, bool, bool, pid_t*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:1487:8: warning: variable โ€˜retcodeโ€™ set but not used [-Wunused-but-set-variable]
 1487 |   bool retcode = pipe_fork.Read(&status_code);
      |        ^~~~~~~
In file included from /usr/include/string.h:495,
                 from /usr/include/c++/10.1.0/cstring:42,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/shortstring.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:12:
In function โ€˜char* strncpy(char*, const char*, size_t)โ€™,
    inlined from โ€˜int stub::MakeSocket(const string&, int)โ€™ at /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:247:10:
/usr/include/bits/string_fortified.h:106:34: warning: โ€˜char* __builtin_strncpy(char*, const char*, long unsigned int)โ€™ specified bound 108 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function โ€˜char* strncpy(char*, const char*, size_t)โ€™,
    inlined from โ€˜int stub::ConnectSocket(const string&)โ€™ at /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/posix.cc:343:10:
/usr/include/bits/string_fortified.h:106:34: warning: โ€˜char* __builtin_strncpy(char*, const char*, long unsigned int)โ€™ specified bound 108 equals destination size [-Wstringop-truncation]
  106 |   return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[  7%] Building CXX object cvmfs/CMakeFiles/cvmfs2.dir/util/string.cc.o
[  8%] Linking CXX executable cvmfs2
[  8%] Built target cvmfs2
Scanning dependencies of target cache.pb.generated
[  8%] Generating protobuf sources
[libprotobuf WARNING google/protobuf/compiler/parser.cc:648] No syntax specified for the proto file: cache.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.)
[  8%] Built target cache.pb.generated
Scanning dependencies of target cvmfs_fuse3
[  8%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/authz/authz.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz.cc:9:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
[  9%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/authz/authz_curl.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/plugin.h:14,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/compression.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/download.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_curl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_curl.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/dns.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/download.h:22,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_curl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_curl.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/download.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_curl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_curl.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/download.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_curl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_curl.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 16; shash::Algorithms algorithm_ = shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 20; shash::Algorithms algorithm_ = shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
[  9%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/authz/authz_fetch.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc:20:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h: In member function โ€˜OptionsManager& OptionsManager::operator=(const OptionsManager&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/options.h:207:3: warning: no return statement in function returning non-void [-Wreturn-type]
  207 |   }
      |   ^
      |   return *this;
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:43,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc:21:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc:21:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec _time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc:27:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc: In destructor โ€˜virtual AuthzExternalFetcher::~AuthzExternalFetcher()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc:71:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   71 |   int retval = pthread_mutex_destroy(&lock_);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc: In member function โ€˜void AuthzExternalFetcher::ExecHelper()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc:165:9: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
  165 |     int retval = dup2(pipe_send[0], 0);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc: In member function โ€˜void AuthzExternalFetcher::InitLock()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_fetch.cc:302:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  302 |   int retval = pthread_mutex_init(&lock_, NULL);
      |       ^~~~~~
[  9%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/authz/authz_session.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.h:17,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc:6:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.h:17,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc:6:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc:21:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec _time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc:24:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc: In constructor โ€˜AuthzSessionManager::AuthzSessionManager()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc:39:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
   39 |   int retval = pthread_mutex_init(&lock_pid2session_, NULL);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc: In destructor โ€˜AuthzSessionManager::~AuthzSessionManager()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc:50:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
   50 |   int retval = pthread_mutex_destroy(&lock_pid2session_);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.h:17,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc:6:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h: In instantiation of โ€˜void SmallHashDynamic::Migrate(uint32_t) [with Key = AuthzSessionManager::SessionKey; Value = AuthzData; uint32_t = unsigned int]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h:291:7:   required from โ€˜void SmallHashDynamic::Grow() [with Key = AuthzSessionManager::SessionKey; Value = AuthzData]โ€™
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h:89:39:   required from โ€˜void SmallHashBase::Insert(const Key&, const Value&) [with Key = AuthzSessionManager::SessionKey; Value = AuthzData; Derived = SmallHashDynamic]โ€™
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc:260:50:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h:332:14: warning: unused variable โ€˜old_sizeโ€™ [-Wunused-variable]
  332 |     uint32_t old_size = size();
      |              ^~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h: In instantiation of โ€˜void SmallHashDynamic::Migrate(uint32_t) [with Key = AuthzSessionManager::PidKey; Value = AuthzSessionManager::SessionKey; uint32_t = unsigned int]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h:291:7:   required from โ€˜void SmallHashDynamic::Grow() [with Key = AuthzSessionManager::PidKey; Value = AuthzSessionManager::SessionKey]โ€™
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h:89:39:   required from โ€˜void SmallHashBase::Insert(const Key&, const Value&) [with Key = AuthzSessionManager::PidKey; Value = AuthzSessionManager::SessionKey; Derived = SmallHashDynamic]โ€™
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/authz/authz_session.cc:312:47:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smallhash.h:332:14: warning: unused variable โ€˜old_sizeโ€™ [-Wunused-variable]
[ 10%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/backoff.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/backoff.h:10,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/backoff.cc:8:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/backoff.cc:13:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/backoff.cc: In member function โ€˜void BackoffThrottle::Init(unsigned int, unsigned int, unsigned int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/backoff.cc:29:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   29 |   int retval = pthread_mutex_init(lock_, NULL);
      |       ^~~~~~
[ 10%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/cache.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/plugin.h:14,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/compression.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.cc:14:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/directory_entry.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.cc:15:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec _time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.cc:18:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h: In member function โ€˜void QuotaManager::LockBackChannels()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h:97:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   97 |     int retval = pthread_mutex_lock(lock_back_channels_);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h: In member function โ€˜void QuotaManager::UnlockBackChannels()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h:101:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  101 |     int retval = pthread_mutex_unlock(lock_back_channels_);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 16; shash::Algorithms algorithm_ = shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 20; shash::Algorithms algorithm_ = shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
[ 10%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/cache.pb.cc.o
[ 10%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/cache_extern.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h: In member function โ€˜void QuotaManager::LockBackChannels()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h:97:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   97 |     int retval = pthread_mutex_lock(lock_back_channels_);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h: In member function โ€˜void QuotaManager::UnlockBackChannels()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h:101:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  101 |     int retval = pthread_mutex_unlock(lock_back_channels_);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.h:27,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc: In member function โ€˜void ExternalCacheManager::CallRemotely(ExternalCacheManager::RpcJob*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:102:40: warning: unused variable โ€˜msg_typedโ€™ [-Wunused-variable]
  102 |         google::protobuf::MessageLite *msg_typed =
      |                                        ^~~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:99:12: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   99 |       bool retval = transport_.RecvFrame(rpc_job->frame_recv());
      |            ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc: In member function โ€˜virtual int ExternalCacheManager::Close(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:149:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  149 |     int retval = fd_table_.CloseFd(fd);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc: In member function โ€˜int ExternalCacheManager::DoOpen(const shash::Any&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:338:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  338 |   int retval = fd_table_.CloseFd(fd);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc: In constructor โ€˜ExternalCacheManager::ExternalCacheManager(int, unsigned int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:402:7: warning: variable โ€˜retvalโ€™ set but not used [-Wunused-but-set-variable]
  402 |   int retval = pthread_rwlock_init(&rwlock_fd_table_, NULL);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc: In member function โ€˜virtual manifest::Breadcrumb ExternalCacheManager::LoadBreadcrumb(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:700:10: warning: unused variable โ€˜rvโ€™ [-Wunused-variable]
  700 |     bool rv = transport_.ParseMsgHash(msg_reply->breadcrumb().hash(),
      |          ^~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc: In member function โ€˜virtual void ExternalCacheManager::Spawn()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:735:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  735 |   int retval = pthread_create(&thread_read_, NULL, MainRead, this);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_extern.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 16; shash::Algorithms algorithm_ = shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 20; shash::Algorithms algorithm_ = shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
[ 11%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/cache_posix.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/backoff.h:10,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:30:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.h:17,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:30:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/plugin.h:14,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/compression.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:27,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_mgr.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.h:18,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:30:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/directory_entry.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:28,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_mgr.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.h:18,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:30:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec _time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:29,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_mgr.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.h:18,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:30:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h: In member function โ€˜void ChunkTables::Lock()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h:102:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  102 |     int retval = pthread_mutex_lock(lock);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h: In member function โ€˜void ChunkTables::Unlock()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h:107:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  107 |     int retval = pthread_mutex_unlock(lock);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h: In member function โ€˜void SimpleChunkTables::Lock()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h:157:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  157 |     int retval = pthread_mutex_lock(lock_);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h: In member function โ€˜void SimpleChunkTables::Unlock()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h:162:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  162 |     int retval = pthread_mutex_unlock(lock_);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:32,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_mgr.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.h:18,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:30:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql.h: In member function โ€˜void sqlite::Sql::LazyInit()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql.h:496:18: warning: unused variable โ€˜successโ€™ [-Wunused-variable]
  496 |       const bool success = Init(query_string_);
      |                  ^~~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:60:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h: In member function โ€˜void QuotaManager::LockBackChannels()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h:97:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   97 |     int retval = pthread_mutex_lock(lock_back_channels_);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h: In member function โ€˜void QuotaManager::UnlockBackChannels()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h:101:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  101 |     int retval = pthread_mutex_unlock(lock_back_channels_);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc: In member function โ€˜virtual int PosixCacheManager::CommitTxn(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:208:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  208 |     int retval = chmod(transaction->tmp_path.c_str(), 0660);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc: In member function โ€˜virtual int PosixCacheManager::DoRestoreState(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:313:9: warning: unused variable โ€˜cโ€™ [-Wunused-variable]
  313 |   char *c = reinterpret_cast(data);
      |         ^
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.h:17,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:30:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 16; shash::Algorithms algorithm_ = shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 20; shash::Algorithms algorithm_ = shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql.h:509,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:32,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_mgr.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.h:18,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_posix.cc:30:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql_impl.h: In instantiation of โ€˜sqlite::Database::DatabaseRaiiWrapper::~DatabaseRaiiWrapper() [with DerivedT = catalog::CatalogDatabase]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql.h:98:7:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql_impl.h:150:16: warning: unused variable โ€˜close_successfulโ€™ [-Wunused-variable]
  150 |     const bool close_successful = Close();
      |                ^~~~~~~~~~~~~~~~
[ 11%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/cache_ram.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.h:14,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.h:14,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/lru.h:52,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/kvstore.h:15,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.h:17,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec _time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:17:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc: In constructor โ€˜RamCacheManager::RamCacheManager(uint64_t, unsigned int, MemoryKvStore::MemoryAllocator, perf::StatisticsTemplate)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:48:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   48 |   int retval = pthread_rwlock_init(&rwlock_, NULL);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc: In member function โ€˜virtual int RamCacheManager::DoOpen(const shash::Any&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:85:8: warning: variable โ€˜okโ€™ set but not used [-Wunused-but-set-variable]
   85 |   bool ok;
      |        ^~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc: In member function โ€˜virtual int RamCacheManager::Close(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:134:8: warning: variable โ€˜rcโ€™ set but not used [-Wunused-but-set-variable]
  134 |   bool rc;
      |        ^~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:145:7: warning: unused variable โ€˜rc_intโ€™ [-Wunused-variable]
  145 |   int rc_int = fd_table_.CloseFd(fd);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc: In member function โ€˜virtual int RamCacheManager::Dup(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:172:8: warning: variable โ€˜okโ€™ set but not used [-Wunused-but-set-variable]
  172 |   bool ok;
      |        ^~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.h:14,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_ram.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 16; shash::Algorithms algorithm_ = shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 20; shash::Algorithms algorithm_ = shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
[ 11%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/cache_tiered.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.h:12,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.h:12,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.cc:12:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec _time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.cc:13:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h: In member function โ€˜void QuotaManager::LockBackChannels()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h:97:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   97 |     int retval = pthread_mutex_lock(lock_back_channels_);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h: In member function โ€˜void QuotaManager::UnlockBackChannels()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/quota.h:101:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  101 |     int retval = pthread_mutex_unlock(lock_back_channels_);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.cc: In member function โ€˜virtual int TieredCacheManager::DoRestoreState(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.cc:37:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |   int retval = lower_->RestoreState(-1, state->state_lower);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.h:12,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_tiered.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 16; shash::Algorithms algorithm_ = shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 20; shash::Algorithms algorithm_ = shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
[ 11%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/cache_transport.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:25,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.cc: In member function โ€˜void CacheTransport::SendFrame(CacheTransport::Frame*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.cc:545:36: warning: โ€˜int google::protobuf::MessageLite::ByteSize() constโ€™ is deprecated: Please use ByteSizeLong() instead [-Wdeprecated-declarations]
  545 |   int32_t size = msg_rpc->ByteSize();
      |                                    ^
In file included from /usr/include/google/protobuf/generated_enum_util.h:36,
                 from /usr/include/google/protobuf/map.h:49,
                 from /usr/include/google/protobuf/generated_message_table_driven.h:34,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/build/cvmfs/cache.pb.h:26,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.h:12,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.cc:5:
/usr/include/google/protobuf/message_lite.h:408:7: note: declared here
  408 |   int ByteSize() const { return internal::ToIntSize(ByteSizeLong()); }
      |       ^~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.cc:552:8: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  552 |   bool retval = msg_rpc->SerializeToArray(buffer, size);
      |        ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/cache_transport.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 16; shash::Algorithms algorithm_ = shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 20; shash::Algorithms algorithm_ = shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
[ 12%] Building CXX object cvmfs/CMakeFiles/cvmfs_fuse3.dir/catalog.cc.o
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util/plugin.h:14,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/compression.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:27,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h: In constructor โ€˜Lockable::Lockable()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/util_concurrency.h:38:15: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   38 |     const int retval = pthread_mutex_init(&mutex_, NULL);
      |               ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/bigvector.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/directory_entry.h:18,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:28,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void smunmap(void*)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:85:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   85 |   int retval = munmap(area-sizeof(size_t), pages*4096);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h: In function โ€˜void sxunmap(void*, size_t)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/smalloc.h:112:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  112 |   int retval = munmap(mem, size);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:24,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/directory_entry.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:28,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h: In member function โ€˜void Prng::InitLocaltime()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/prng.h:37:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   37 |     int retval = gettimeofday(&tv_now, NULL);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform.h:13,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/directory_entry.h:21,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:28,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h: In function โ€˜timespec _time_with_clock(int)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/platform_linux.h:323:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  323 |   int retval = clock_gettime(clock, &tp);
      |       ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:29,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h: In member function โ€˜void ChunkTables::Lock()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h:102:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  102 |     int retval = pthread_mutex_lock(lock);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h: In member function โ€˜void ChunkTables::Unlock()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h:107:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  107 |     int retval = pthread_mutex_unlock(lock);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h: In member function โ€˜void SimpleChunkTables::Lock()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h:157:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  157 |     int retval = pthread_mutex_lock(lock_);
      |         ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h: In member function โ€˜void SimpleChunkTables::Unlock()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/file_chunk.h:162:9: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  162 |     int retval = pthread_mutex_unlock(lock_);
      |         ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:32,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql.h: In member function โ€˜void sqlite::Sql::LazyInit()โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql.h:496:18: warning: unused variable โ€˜successโ€™ [-Wunused-variable]
  496 |       const bool success = Init(query_string_);
      |                  ^~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc: In constructor โ€˜catalog::Catalog::Catalog(const PathString&, const shash::Any&, catalog::Catalog*, bool)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:67:7: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
   67 |   int retval = pthread_mutex_init(lock_, NULL);
      |       ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc: In member function โ€˜bool catalog::Catalog::OpenDatabase(const string&)โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:176:10: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  176 |     bool retval = sql_has_nested_sha1.FetchRow();
      |          ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc: In member function โ€˜void catalog::Catalog::FixTransitionPoint(const shash::Md5&, catalog::DirectoryEntry*) constโ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:836:16: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  836 |     const bool retval = parent_->LookupMd5Path(md5path, &parent_dirent);
      |                ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:842:16: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  842 |     const bool retval = parent_->LookupPath(mountpoint_, &parent_dirent);
      |                ^~~~~~
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/directory_entry.h:20,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:28,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 16; shash::Algorithms algorithm_ = shash::kMd5]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:434:62:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
  182 |     const unsigned length = str->length();
      |                    ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h: In instantiation of โ€˜shash::Digest::Digest(shash::Algorithms, shash::HexPtr, char) [with unsigned int digest_size_ = 20; shash::Algorithms algorithm_ = shash::kAny]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:468:48:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/hash.h:182:20: warning: unused variable โ€˜lengthโ€™ [-Wunused-variable]
In file included from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql.h:509,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_sql.h:32,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters_impl.h:11,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog_counters.h:162,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.h:16,
                 from /home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:5:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql_impl.h: In instantiation of โ€˜sqlite::Database::DatabaseRaiiWrapper::~DatabaseRaiiWrapper() [with DerivedT = catalog::CatalogDatabase]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql.h:98:7:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql_impl.h:150:16: warning: unused variable โ€˜close_successfulโ€™ [-Wunused-variable]
  150 |     const bool close_successful = Close();
      |                ^~~~~~~~~~~~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql_impl.h: In instantiation of โ€˜bool sqlite::Database::HasProperty(const string&) const [with DerivedT = catalog::CatalogDatabase; std::string = std::__cxx11::basic_string]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:203:43:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql_impl.h:289:14: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  289 |   const bool retval = has_property_->BindText(1, key) &&
      |              ^~~~~~
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql_impl.h: In instantiation of โ€˜T sqlite::Database::GetProperty(const string&) const [with T = std::__cxx11::basic_string; DerivedT = catalog::CatalogDatabase; std::string = std::__cxx11::basic_string]โ€™:
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/catalog.cc:205:77:   required from here
/home/blue/.cache/yay/cvmfs/src/cvmfs-2.7.2/cvmfs/sql_impl.h:301:14: warning: unused variable โ€˜retvalโ€™ [-Wunused-variable]
  301 |   const bool retval = get_property_->BindText(1, key) &&
      |              ^~~~~~

Panic using automount on Ubuntu 20

Hello,

On Ubuntu 20.04.02 attempting to access singularity.opensciencegrid.org fails

root@CRUSH-OG-10-5-159-115:~# ls /cvmfs/singularity.opensciencegrid.org
ls: cannot access '/cvmfs/singularity.opensciencegrid.org': No such file or directory

journalctl reports

Mar 28 15:41:09 CRUSH-OG-10-5-159-115 cvmfs2[1229151]: (cvmfs-config.cern.ch) PANIC: /home/sftnight/jenkins/workspace/CvmfsFullBuildDocker/CVMFS_BUILD_ARCH/docker-x86_64/CVMFS_BUILD_PLATFORM/ubuntu20>
                                                       cache manager disappeared, aborting
Mar 28 15:41:09 CRUSH-OG-10-5-159-115 cvmfs2[1229540]: (cvmfs-config.cern.ch) unexpected termination (0)
                                                       Timestamp: Mon Mar 28 15:41:09 2022
                                                       
                                                        Crash logged also on file: ./stacktrace.cvmfs-config.cern.ch
Mar 28 15:41:09 CRUSH-OG-10-5-159-115 automount[1229071]: umount_autofs_indirect: ask umount returned busy /home
Mar 28 15:41:39 CRUSH-OG-10-5-159-115 cvmfs2[1229151]: (cvmfs-config.cern.ch) stack trace generation failed
Mar 28 15:41:39 CRUSH-OG-10-5-159-115 cvmfs2[1229151]: (cvmfs-config.cern.ch) Signal 6, errno 0
Mar 28 15:41:39 CRUSH-OG-10-5-159-115 cvmfs2[1229151]: (cvmfs-config.cern.ch) Backtrace (10 symbols):
                                                       /usr/lib/libcvmfs_fuse3.so(+0xa45be) [0x7f2c9f4295be]
                                                       /lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0) [0x7f2c9ff8e3c0]
                                                       /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb) [0x7f2c9fbe618b]
                                                       /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b) [0x7f2c9fbc5859]
                                                       /lib/x86_64-linux-gnu/libc.so.6(+0x25729) [0x7f2c9fbc5729]
                                                       /lib/x86_64-linux-gnu/libc.so.6(+0x36f36) [0x7f2c9fbd6f36]
                                                       /usr/lib/libcvmfs_fuse3.so(+0xca5ef) [0x7f2c9f44f5ef]
                                                       /usr/lib/libcvmfs_fuse3.so(+0xebdf9) [0x7f2c9f470df9]
                                                       /lib/x86_64-linux-gnu/libpthread.so.0(+0x9609) [0x7f2c9ff82609]
                                                       /lib/x86_64-linux-gnu/libc.so.6(clone+0x43) [0x7f2c9fcc2293]
Mar 28 15:41:39 CRUSH-OG-10-5-159-115 cvmfs2[1229151]: (cvmfs-config.cern.ch) address of g_cvmfs_exports: 0x7f2c9f6d21c0

Mounting to an existing directory works

root@CRUSH-OG-10-5-159-115:/var/log# mkdir /mnt/singularity.opensciencegrid.org

root@CRUSH-OG-10-5-159-115:/var/log# CVMFS_HTTP_PROXY=DIRECT mount -t cvmfs singularity.opensciencegrid.org /mnt/singularity.opensciencegrid.org
Debug: using library /usr/lib/libcvmfs_fuse3_stub.so
CernVM-FS: running with credentials 116:121
CernVM-FS: running in debug mode

CernVM-FS: loading Fuse module... (cvmfs) Parsing config file /etc/cvmfs/default.conf    [03-28-2022 15:44:58 EDT]
(...)

root@CRUSH-OG-10-5-159-115:/var/log# ls /mnt/singularity.opensciencegrid.org/
4ndr85          cailmdaley      e1039                     jagault        lscsoft           opencarp               snirgaz
(etc)

I was able to recreate this behavior on a fresh Ubuntu 20.04 VM.

Results of cvmfs_config bugreport are attached, please let me know if there's any other info I can provide.

cvmfs-bugreport.tar.gz

ObjectPackConsumer loops indefinitely on zero-length objects

The processing loop in ObjectPackConsumer::ConsumePayload():

cvmfs/cvmfs/pack.cc

Lines 338 to 341 in f6095b5

ObjectPackBuild::State ObjectPackConsumer::ConsumePayload(
const unsigned buf_size, const unsigned char *buf) {
uint64_t pos_in_buf = 0;
while ((pos_in_buf < buf_size) && (idx_ < index_.size())) {

can terminate prematurely when dealing with a zero-length object. Specifically: for a zero-length object at the end of the buffer, pos_in_buf will equal buf_size and so the loop will terminate, but idx_ will not equal index.size() and so the method ends up erroneously returning kStateContinue.

Zero-length objects can occur only when using uncompressed objects, since a compressed object will never have a zero-length compressed representation. The following integration test case triggers the issue:

cvmfs_test_name="Uncompressed files via gateway"
cvmfs_test_autofs_on_startup=false
cvmfs_test_suites="quick"

verify_compression() {
  local filename=$1
  local expected=$2
  local actual=$(attr -qg compression ${filename})
  if [ "${actual}" != "${expected}" ] ; then
    echo "Compression mismatch for ${filename}: expected ${expected} actual ${actual}"
    return 101
  fi
}

cvmfs_run_test() {
  local reponame=test.repo.org
  local repodir=/cvmfs/${reponame}

  echo "set up gateway"
  set_up_repository_gateway || return 1

  echo "parse configuration"
  load_repo_config ${reponame}
  local spooldir=${CVMFS_SPOOL_DIR}

  echo "start transaction"
  cvmfs_server transaction ${reponame} || return 11

  echo "create test files"
  echo "Hello world!" > ${repodir}/file1
  touch ${repodir}/file2

  echo "publish (uncompressed) and check"
  cvmfs_server publish -Z none ${reponame} || return 12
  cvmfs_server check -i ${reponame} || return 13

  echo "verify files"
  [ -f ${repodir}/file1 -a -s ${repodir}/file1 ] || return 14
  [ -f ${repodir}/file2 -a ! -s ${repodir}/file2 ] || return 15
  verify_compression ${spooldir}/rdonly/file1 none || return $?
  verify_compression ${spooldir}/rdonly/file2 none || return $?
}

DUCC: dependence on singularity?

Hello,

Does DUCC have a dependence on Singularity, and if so will it be changed to use Apptainer instead?

Based on some old notes from Simone I just did dnf install singularity however I am not sure if installing the executable is still needed, or if the use of singularity is only via libraries in the code?

If the singularity (or apptainer) package is required it should be a dependency of the RPM.

Thanks!

Regexps in EXPECT_DEATH() do not function as expected

The EXPECT_DEATH() macro used in the unit tests seems not to allow for the use of a regexp to check for the cause of the (expected) failure.

Specifically: attempting to use any regexp other than .* fails with an error such as:

    Result: died but not with expected error.
  Expected: <regexp as provided to EXPECT_DEATH()>
Actual msg:
[  DEATH   ] cvmfs_unittests: /home/mcb30/work/extcvs/cvmfs/cvmfs/sql.h:499: void sqlite::Sql::LazyInit(): Assertion `NULL != query_string_' failed.

The root cause is currently unclear - I am creating this issue to track progress on debugging this problem.

DUCC: use of docker or podman?

Hello,

Based on some old notes from Simone I recall that installing docker and making the DUCC publishing user a member of the Docker group was required.

Looking at DUCC again now I see many references to podman in the code. Obviously using podman instead of Docker would be preferable since it works unprivileged. However DUCC still seems to require podman

ERRO[0001] Error in image import                         error="Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?"
ERRO[0001] Error in converting wish (docker), going on   error="Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?" input image="https://registry.hub.docker.com/atlasadc/atlas-grid-centos7:latest" output image="https://git.computecanada.ca:4567/cc-cvmfs-public/images/atlasadc/atlas-grid-centos7:latest" repository=images.dev.computecanada.ca

and podman and Docker conflict with each other so they can not both be used.

So is only Docker required, and if so what is the nature of the podman functionality?

Thanks!

Containerd snapshotter fails under containerd-1.5.11

Hello,

I'm still working on integrating the snapshotter with our local install, and I've hit a new issue (I think) under containerd version containerd.io-1.5.11-3.1.el7.x86_64.

After configuring containerd, starting the snapshotter, then restarting containerd, it doesn't appear that pulling snapshots uses layers in CVMFS, even if they exist. For example, executing the following pull shows that the various images were downloaded from the registry:

[root@se20 ~]# CONTAINERD_SNAPSHOTTER=cvmfs-snapshotter ctr image pull registry.hub.docker.com/perilousapricot/cms-jupyter:testing
registry.hub.docker.com/perilousapricot/cms-jupyter:testing:                      resolved       |++++++++++++++++++++++++++++++++++++++| 
manifest-sha256:9eb0654f3ccb50f5ef9fa6c6ebc6bc9ff87cfb71e6d2b7fafeead1bc4729813d: done           |++++++++++++++++++++++++++++++++++++++| 
config-sha256:279d170bfdd749210f0bb76bd6e6a8f269b558011d095ce7b8166469de683e7f:   done           |++++++++++++++++++++++++++++++++++++++| 
<snip>
layer-sha256:aeb7866da422acc7e93dcf7323f38d7646f6269af33bcdb6647f2094fc4b3bf7:    done           |++++++++++++++++++++++++++++++++++++++| 
elapsed: 36.9s                                                                    total:  1.1 Gi (29.2 MiB/s)                                      
unpacking linux/amd64 sha256:9eb0654f3ccb50f5ef9fa6c6ebc6bc9ff87cfb71e6d2b7fafeead1bc4729813d...
done: 4m49.418105242s

though that image exists in unpacked.cern.ch:

ls /cvmfs/unpacked.cern.ch/registry.hub.docker.com/perilousapricot/cms-jupyter\:testing
anaconda-post.log  cms    dev          etc     hdfs  lib    media  opt   root  sbin         srv  tini  usr
bin                cvmfs  environment  hadoop  home  lib64  mnt    proc  run   singularity  sys  tmp   var

The snapshotter log itself makes no mention of pulling the layers from CVMFS either. When running the pull, only the "Mounting new filesystem" log line is there until after the unpacking step happens on the client commandline

/home/meloam/cvmfs_snapshotter -log-level=trace
{"absolutePath":"/cvmfs/unpacked.cern.ch","level":"info","msg":"Mounting new filesystem","root":"/var/lib/containerd-cvmfs-grpc/cvmfs","time":"2022-04-22T11:04:04.151779769-05:00"}
{"key":"default/87/sha256:f972d139738dfcd1519fd2461815651336ee25a8b54c358834c50af094bb262f","level":"debug","msg":"checking layer availability","time":"2022-04-22T11:05:27.667973582-05:00"}
{"key":"default/87/sha256:f972d139738dfcd1519fd2461815651336ee25a8b54c358834c50af094bb262f","level":"debug","mount-point":"/var/lib/containerd-cvmfs-grpc/snapshotter/snapshots/44/fs","msg":"layer is normal snapshot(overlayfs)","time":"2022-04-22T11:05:27.690048990-05:00"}
{"key":"default/89/sha256:38805bc89f85a7d02a525f5ee852f119183ab2edb68508eed9af677374205432","level":"debug","msg":"checking layer availability","time":"2022-04-22T11:05:38.106369939-05:00"}
{"key":"default/89/sha256:38805bc89f85a7d02a525f5ee852f119183ab2edb68508eed9af677374205432","level":"debug","mount-point":"/var/lib/containerd-cvmfs-grpc/snapshotter/snapshots/45/fs","msg":"layer is normal snapshot(overlayfs)","time":"2022-04-22T11:05:38.106605231-05:00"}

And, for good measure, here is my containerd config.toml:

[root@se20 ~]# cat /etc/containerd/config.toml 

repository = "unpacked.cern.ch"
absolute-mountpoint = "/cvmfs/unpacked.cern.ch"

version = 2
root = "/var/lib/containerd"
state = "/run/containerd"
oom_score = 0

[grpc]
  max_recv_message_size = 16777216
  max_send_message_size = 16777216

[debug]
  level = "trace"

[metrics]
  address = ""
  grpc_histogram = false

[plugins]
  [plugins."io.containerd.grpc.v1.cri"]
    sandbox_image = "k8s.gcr.io/pause:3.3"
    max_container_log_line_size = -1
    [plugins."io.containerd.grpc.v1.cri".containerd]
      default_runtime_name = "runc"
      snapshotter = "cvmfs-snapshotter"
      disable_snapshot_annotations = false
      [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
        [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
          runtime_type = "io.containerd.runc.v2"
          runtime_engine = ""
          runtime_root = ""
          [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
            systemdCgroup = true

[proxy_plugins]
  [proxy_plugins.cvmfs-snapshotter]
    type = "snapshot"
    address = "/run/containerd-cvmfs-grpc/containerd-cvmfs-grpc.sock"

And the startup lines from containerd

Apr 22 11:04:22 se20.vampire systemd[1]: Starting containerd container runtime...
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.361782155-05:00" level=info msg="starting containerd" revision=3df54a852345ae127d1fa3092b95168e4a88e2f8 version=1.5.11
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.425058629-05:00" level=info msg="loading plugin \"io.containerd.content.v1.content\"..." type=io.containerd.content.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.425167666-05:00" level=info msg="loading plugin \"io.containerd.snapshotter.v1.aufs\"..." type=io.containerd.snapshotter.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.427671684-05:00" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.aufs\"..." error="aufs is not supported (modprobe aufs failed: exit status 1 \"modprobe: FATAL: Module aufs not found.\\n\"): skip plugin" type=io.containerd.snapshotter.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.427719670-05:00" level=info msg="loading plugin \"io.containerd.snapshotter.v1.devmapper\"..." type=io.containerd.snapshotter.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.427770373-05:00" level=warning msg="failed to load plugin io.containerd.snapshotter.v1.devmapper" error="devmapper not configured"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.427809640-05:00" level=info msg="loading plugin \"io.containerd.snapshotter.v1.native\"..." type=io.containerd.snapshotter.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.427861303-05:00" level=info msg="loading plugin \"io.containerd.snapshotter.v1.overlayfs\"..." type=io.containerd.snapshotter.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.444747934-05:00" level=info msg="loading plugin \"io.containerd.snapshotter.v1.zfs\"..." type=io.containerd.snapshotter.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.445112136-05:00" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.zfs\"..." error="path /var/lib/containerd/io.containerd.snapshotter.v1.zfs must be a zfs filesystem to be used with the zfs snapshotter: skip plugin" type=io.containerd.snapshotter.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.445152689-05:00" level=info msg="loading plugin \"io.containerd.snapshotter.v1.cvmfs-snapshotter\"..." type=io.containerd.snapshotter.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.462362703-05:00" level=info msg="loading plugin \"io.containerd.metadata.v1.bolt\"..." type=io.containerd.metadata.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.462505909-05:00" level=warning msg="could not use snapshotter devmapper in metadata plugin" error="devmapper not configured"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.462543904-05:00" level=info msg="metadata content store policy set" policy=shared
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.514580568-05:00" level=info msg="loading plugin \"io.containerd.differ.v1.walking\"..." type=io.containerd.differ.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.514695540-05:00" level=info msg="loading plugin \"io.containerd.gc.v1.scheduler\"..." type=io.containerd.gc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.531163249-05:00" level=info msg="loading plugin \"io.containerd.service.v1.introspection-service\"..." type=io.containerd.service.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.531492664-05:00" level=info msg="loading plugin \"io.containerd.service.v1.containers-service\"..." type=io.containerd.service.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.531596214-05:00" level=info msg="loading plugin \"io.containerd.service.v1.content-service\"..." type=io.containerd.service.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.531675734-05:00" level=info msg="loading plugin \"io.containerd.service.v1.diff-service\"..." type=io.containerd.service.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.531801447-05:00" level=info msg="loading plugin \"io.containerd.service.v1.images-service\"..." type=io.containerd.service.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.531889461-05:00" level=info msg="loading plugin \"io.containerd.service.v1.leases-service\"..." type=io.containerd.service.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.531969245-05:00" level=info msg="loading plugin \"io.containerd.service.v1.namespaces-service\"..." type=io.containerd.service.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.532072489-05:00" level=info msg="loading plugin \"io.containerd.service.v1.snapshots-service\"..." type=io.containerd.service.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.532146809-05:00" level=info msg="loading plugin \"io.containerd.runtime.v1.linux\"..." type=io.containerd.runtime.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.532293519-05:00" level=info msg="loading plugin \"io.containerd.runtime.v2.task\"..." type=io.containerd.runtime.v2
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.532449092-05:00" level=debug msg="loading tasks in namespace" namespace=default
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.532611070-05:00" level=info msg="loading plugin \"io.containerd.monitor.v1.cgroups\"..." type=io.containerd.monitor.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.534625726-05:00" level=info msg="loading plugin \"io.containerd.service.v1.tasks-service\"..." type=io.containerd.service.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.534700069-05:00" level=info msg="loading plugin \"io.containerd.internal.v1.restart\"..." type=io.containerd.internal.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.534857975-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.containers\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.534897204-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.content\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.534927510-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.diff\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535036283-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.events\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535100729-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.healthcheck\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535194087-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.images\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535239389-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.leases\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535282651-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.namespaces\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535324544-05:00" level=info msg="loading plugin \"io.containerd.internal.v1.opt\"..." type=io.containerd.internal.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535470785-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.snapshots\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535528145-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.tasks\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535612424-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.version\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.535678038-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.cri\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.536387246-05:00" level=info msg="Start cri plugin with config {PluginConfig:{ContainerdConfig:{Snapshotter:cvmfs-snapshotter DefaultRuntimeName:runc DefaultRuntime:{Type: Engine: PodAnnotations:[] ContainerAnnotations:[] Root: Options:map[] PrivilegedWithoutHostDevices:false BaseRuntimeSpec:} UntrustedWorkloadRuntime:{Type: Engine: PodAnnotations:[] ContainerAnnotations:[] Root: Options:map[] PrivilegedWithoutHostDevices:false BaseRuntimeSpec:} Runtimes:map[runc:{Type:io.containerd.runc.v2 Engine: PodAnnotations:[] ContainerAnnotations:[] Root: Options:map[systemdCgroup:true] PrivilegedWithoutHostDevices:false BaseRuntimeSpec:}] NoPivot:false DisableSnapshotAnnotations:false DiscardUnpackedLayers:false} CniConfig:{NetworkPluginBinDir:/opt/cni/bin NetworkPluginConfDir:/etc/cni/net.d NetworkPluginMaxConfNum:1 NetworkPluginConfTemplate:} Registry:{ConfigPath: Mirrors:map[] Configs:map[] Auths:map[] Headers:map[]} ImageDecryption:{KeyModel:node} DisableTCPService:true StreamServerAddress:127.0.0.1 StreamServerPort:0 StreamIdleTimeout:4h0m0s EnableSelinux:false SelinuxCategoryRange:1024 SandboxImage:k8s.gcr.io/pause:3.3 StatsCollectPeriod:10 SystemdCgroup:false EnableTLSStreaming:false X509KeyPairStreaming:{TLSCertFile: TLSKeyFile:} MaxContainerLogLineSize:-1 DisableCgroup:false DisableApparmor:false RestrictOOMScoreAdj:false MaxConcurrentDownloads:3 DisableProcMount:false UnsetSeccompProfile: TolerateMissingHugetlbController:true DisableHugetlbController:true IgnoreImageDefinedVolumes:false NetNSMountsUnderStateDir:false} ContainerdRootDir:/var/lib/containerd ContainerdEndpoint:/run/containerd/containerd.sock RootDir:/var/lib/containerd/io.containerd.grpc.v1.cri StateDir:/run/containerd/io.containerd.grpc.v1.cri}"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.536619740-05:00" level=info msg="Connect containerd service"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.546764652-05:00" level=info msg="Get image filesystem path \"/var/lib/containerd/io.containerd.snapshotter.v1.cvmfs-snapshotter\""
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.576899997-05:00" level=error msg="failed to load cni during init, please check CRI plugin status before setting up network for pods" error="cni config load failed: no network config found in /etc/cni/net.d: cni plugin not initialized: failed to load cni config"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.611445462-05:00" level=info msg="loading plugin \"io.containerd.grpc.v1.introspection\"..." type=io.containerd.grpc.v1
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.611417770-05:00" level=info msg="Start subscribing containerd event"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.611622002-05:00" level=info msg="Start recovering state"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.611868086-05:00" level=info msg="Start event monitor"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.611919239-05:00" level=info msg="Start snapshots syncer"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.611951548-05:00" level=info msg="Start cni network conf syncer"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.611971405-05:00" level=info msg="Start streaming server"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.611978916-05:00" level=info msg=serving... address=/run/containerd/containerd.sock.ttrpc
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.612227115-05:00" level=info msg=serving... address=/run/containerd/containerd.sock
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.612345179-05:00" level=debug msg="sd notification" error="<nil>" notified=true state="READY=1"
Apr 22 11:04:23 se20.vampire containerd[1402059]: time="2022-04-22T11:04:23.612386263-05:00" level=info msg="containerd successfully booted in 0.257532s"
Apr 22 11:04:23 se20.vampire systemd[1]: Started containerd container runtime.

Was there perhaps a change in the API between 1.4 and 1.5? Any help would be greatly appreciated!

containerd snapshotter needs to remove existing images

Hello,

I noticed an issue that I don't know is either a documentation problem or a code that could be fixed. Basically if you install the containerd snapshotter onto an install of containerd that already has images installed, some combination of containerd + cvmfs-snapshotter gets confused about the state and leaves all images inaccessible. A workaround I've found is that before adding the plugin to the containerd config, you must first do a crictl rmi -a to remove all existing images. Then when you start the service w/cvmfs-snapshotter it works properly.

I have some logs if that's useful, but before I start hunting down the cause, I was curious about your idea of the proper resolution.

Over 2100 missing catalog files from cms.cern.ch on a stratum 1

The stratum 1 at UNL that is currently the primary server had over 2100 missing cms.cern.ch catalogs today. The other identical server that is currently the backup had downloaded them all over a period of 7 minutes, between 06:48 and 06:55 U.S. Central time on April 2. The new Australian stratum 1 reads from the primary UNL stratum 1, and I wrote a script to identify the 404 errors from there on the UNL stratum 1 squid log and then download the missing files from the backup stratum 1. It took over 6 hours to complete.

The primary is running cvmfs-server-2.8.1 and the backup is running 2.9.2. I looked through /var/log/messages and the cms.cern.ch snapshot log during the period in question and did not see any unusual messages. However the fact that they were all catalogs has to be significant. I don't think it is likely to be a problem with the filesystem. Perhaps the filesystem returned some kind of error to cvmfs_swissknife once but I think it must have caused some kind of side effect in cvmfs_swissknife that resulted in cascading errors related only to catalogs. On the other hand I guess it's possible that CMS did some type of operation that impacted only catalogs, but it seems unlikely.

There is plenty of disk space on the stratum 1 so it's not that. There's 31T/46% available in /storage (which contains both /srv/cvmfs and /var/spool/cvmfs/*/tmp), 199G/89% in /, and 1.5G/95% in /tmp.

Improve handling of noop transactions.

Running cvmfs_server publish at the end of an empty transaction results in a new catalog and new revision for the repository, even though no data or metadata changes were introduced. In cases where the transaction/publish are run in a loop with high frequency, the extra space used in the repository and the amount of work for the garbage collector can grow considerably. With multiple publishers provisioned for a single repository using the gateway, this situation can be further exacerbated.

By default, if cvmfs_server publish detects that no changes have occured during the open transaction, a rollback should be performed. A new command-line flag for the publish command should activate the old behaviour (create a new catalog and revision even if noop).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.