D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
lib
/
systemd
/
system
/
Filename :
xfs_scrub_all.service
back
Copy
# SPDX-License-Identifier: GPL-2.0-or-later # # Copyright (C) 2018-2024 Oracle. All Rights Reserved. # Author: Darrick J. Wong <djwong@kernel.org> [Unit] Description=Online XFS Metadata Check for All Filesystems OnFailure=xfs_scrub_all_fail.service ConditionACPower=true Documentation=man:xfs_scrub_all(8) After=paths.target multi-user.target network.target network-online.target systemd-networkd.service NetworkManager.service connman.service [Service] Type=oneshot Environment=SERVICE_MODE=1 ExecStart=/usr/sbin/xfs_scrub_all --auto-media-scan-interval 1mo SyslogIdentifier=xfs_scrub_all # Create the service underneath the scrub background service slice so that we # can control resource usage. Slice=system-xfs_scrub.slice # Run scrub_all with minimal CPU and IO priority so that nothing will starve. IOSchedulingClass=idle CPUSchedulingPolicy=idle CPUAccounting=true Nice=19 # No realtime scheduling RestrictRealtime=true # No special privileges, but we still have to run as root so that we can # contact the service manager to start the sub-units. CapabilityBoundingSet= NoNewPrivileges=true RestrictSUIDSGID=true # Make the entire filesystem readonly except for the media scan stamp file # directory. We don't want to hide anything because we need to find all # mounted XFS filesystems in the host. ProtectSystem=strict ProtectHome=read-only PrivateTmp=false BindPaths=/var/lib/xfsprogs # No network access except to the systemd control socket PrivateNetwork=true ProtectHostname=true RestrictAddressFamilies=AF_UNIX IPAddressDeny=any # Don't let the program mess with the kernel configuration at all ProtectKernelLogs=true ProtectKernelModules=true ProtectKernelTunables=true ProtectControlGroups=true ProtectProc=invisible RestrictNamespaces=true # Hide everything in /proc, even /proc/mounts ProcSubset=pid # Only allow the default personality Linux LockPersonality=true # No writable memory pages MemoryDenyWriteExecute=true # Don't let our mounts leak out to the host PrivateMounts=true # Restrict system calls to the native arch and only enough to get things going SystemCallArchitectures=native SystemCallFilter=@system-service SystemCallFilter=~@privileged SystemCallFilter=~@resources SystemCallFilter=~@mount # Media scan stamp file shouldn't be readable by regular users UMask=0077 # lsblk ignores mountpoints if it can't find the device files, so we cannot # hide them #ProtectClock=true #PrivateDevices=true