Commit Graph

30392 Commits

Author SHA1 Message Date
openshift-merge-bot[bot] f555b9f2dd
Merge pull request #2284 from mtrmac/no-windows
RFC: Remove drivers/windows
2025-07-18 02:23:33 +00:00
Miloslav Trmač 07fc14fc57 Remove drivers/windows
The code could never build its unit tests since September 2017,
and nobody seems to have complained.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-07-17 19:33:26 +02:00
openshift-merge-bot[bot] 82a4546eb6
Merge pull request #2352 from containers/renovate/golangci-golangci-lint-2.x
chore(deps): update dependency golangci/golangci-lint to v2.2.2
2025-07-16 14:45:54 +00:00
renovate[bot] 50bf352931
chore(deps): update dependency golangci/golangci-lint to v2.2.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 16:02:17 +00:00
openshift-merge-bot[bot] 0001aac2fb
Merge pull request #2353 from TomSweeneyRedHat/dev/tsweeney/v1.59.0
Bump to c/storage v1.59.0 then to v1.60.0-dev
2025-07-14 16:01:43 +00:00
tomsweeneyredhat d1a23cdaba Bump to v1.60.0-dev
Bump to the next dev version in the main branch.

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2025-07-14 11:26:02 -04:00
tomsweeneyredhat 51223aa059 Bump to v1.59.0
Bump to v1.59.0 in preparation for Podman v5.6

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2025-07-14 11:25:27 -04:00
openshift-merge-bot[bot] 2b18ddcfaf
Merge pull request #2351 from containers/renovate/golang.org-x-sys-0.x
fix(deps): update module golang.org/x/sys to v0.34.0
2025-07-11 14:56:27 +00:00
renovate[bot] e559aaaf0b
fix(deps): update module golang.org/x/sys to v0.34.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 14:26:36 +00:00
openshift-merge-bot[bot] 4231860648
Merge pull request #2350 from containers/renovate/golang.org-x-sync-0.x
fix(deps): update module golang.org/x/sync to v0.16.0
2025-07-11 14:25:16 +00:00
renovate[bot] 2d556e8c89
fix(deps): update module golang.org/x/sync to v0.16.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 20:14:09 +00:00
openshift-merge-bot[bot] 092254c04b
Merge pull request #2325 from Honny1/prototype-temp
Introduce a temporary directory for deleting layer files outside the lock
2025-07-10 20:13:18 +00:00
Jan Rodák f9aef81079
Integrate the temporary directory into layer deletion
This enables deferred deletion of physical files outside of global locks, improving performance and reducing lock contention.

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-07-10 11:33:54 +02:00
Jan Rodák 413d9f16ec
Implement temporary directory
Fixes: https://issues.redhat.com/browse/RUN-3104

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-07-03 13:01:02 +02:00
openshift-merge-bot[bot] 3aa7339622
Merge pull request #2349 from containers/renovate/github.com-tchap-go-patricia-v2-2.x
fix(deps): update module github.com/tchap/go-patricia/v2 to v2.3.3
2025-07-01 15:25:54 +00:00
renovate[bot] 1a40a2aea5
fix(deps): update module github.com/tchap/go-patricia/v2 to v2.3.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-01 14:59:03 +00:00
openshift-merge-bot[bot] 3283983aec
Merge pull request #2348 from containers/renovate/golangci-golangci-lint-2.x
chore(deps): update dependency golangci/golangci-lint to v2.2.1
2025-07-01 14:58:05 +00:00
renovate[bot] b12a52fd72
chore(deps): update dependency golangci/golangci-lint to v2.2.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-29 22:39:25 +00:00
openshift-merge-bot[bot] 83650abfa8
Merge pull request #2337 from albinvass/fix-documentation-for-zstd-chunked
docfix: storage.overlay.pull_options should be storage.options.pull_o…
2025-06-25 16:40:29 +00:00
Albin Vass 4e14f8e4f6 docfix: storage.overlay.pull_options should be storage.options.pull_options
Signed-off-by: Albin Vass <git@mail.albinvass.com>
2025-06-24 16:47:14 +02:00
openshift-merge-bot[bot] e1679c1222
Merge pull request #2343 from giuseppe/convert-to-zstd-without-compression
chunked: allow conversion without zstd compression
2025-06-09 11:49:24 +00:00
openshift-merge-bot[bot] b45447919a
Merge pull request #2339 from mtrmac/renovate-deprecated
Remove a deprecated configuration section
2025-06-09 11:43:57 +00:00
openshift-merge-bot[bot] 35c85eefa5
Merge pull request #2346 from giuseppe/use-idmap-not-contiguous
scope contiguity checks for idmap to mountProgram presence
2025-06-09 11:41:08 +00:00
Giuseppe Scrivano 87c6994f67
chunked: allow conversion without zstd compression
This commit introduces the capability to convert tar layers
to the zstd:chunked format, without performing any zstd compression.

This allows using zstd:chunked without the cost of compression and
decompression.

Closes: https://issues.redhat.com/browse/RUN-3056

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-06-09 13:17:22 +02:00
Giuseppe Scrivano 1a704f7c6e
chunked: add no-compression option for ZstdWriter
a new function NoCompression() is added to provide a way to create
uncompressed zstd:chunked files.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-06-09 13:17:22 +02:00
Giuseppe Scrivano 378f38ca12
chunked: refactor limit reader creation
The reader for the part is now limited before calling
prepareCompressedStreamToFile().

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-06-09 13:17:22 +02:00
openshift-merge-bot[bot] 5aa49865a2
Merge pull request #2336 from Honny1/staging-lock
Fix: Introduce `StagingLockfile` to resolve overlay staging lock memory leak
2025-06-09 10:37:40 +00:00
openshift-merge-bot[bot] 32a123c393
Merge pull request #2341 from giuseppe/assume-overlay-is-supported-if-fs-unknown
overlay: drop unused fsMagic from support checks
2025-06-09 09:53:16 +00:00
Giuseppe Scrivano fe6561f61b
chunked: drop calls to Flush
Flush() is only called before Close() so it has not any effect.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-06-09 11:34:21 +02:00
Jan Rodák b3638eff17
Replace LockFile with StagingLockfile for overlay staging
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-06-09 09:28:42 +02:00
Jan Rodák bcbecbac52
Add TryLockPath, CreateAndLock, UnlockAndDelete functions
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-06-09 09:28:39 +02:00
Jan Rodák 2a216f8c80
Deduplicate code
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-06-09 09:27:25 +02:00
Jan Rodák 3e7bc4f12a
Update implementation and documentation
This commit refactors the StagingLockfile component:
- Fix test, functions names.
- Removed blocking Lock, plain Unlock and Read lock  mechanism.
- Updated comments to reflect the current logic and usage.

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-06-09 09:27:25 +02:00
Jan Rodák 02398d453d
Remove deprecated API and LastWrite functionality
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-06-09 09:27:25 +02:00
Jan Rodák de8761dfa1
Create staging_lockfile from lockfile
Signed-off-by: Jan Rodák <hony.com@seznam.cz>
2025-06-09 09:27:25 +02:00
Giuseppe Scrivano 42e906b5c3
overlay: drop unused fsMagic from support checks
The `fsMagic` parameter was not used within the
`checkAndRecordOverlaySupport` and `supportsOverlay` functions.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-06-09 09:02:18 +02:00
Giuseppe Scrivano ffb4f1504b
overlay: scope ID map contiguity check to mountProgram
The contiguity of ID mappings is a requirement for fuse-overlayfs, do
not impose it for the native kernel driver.

Closes: https://github.com/containers/storage/issues/2345
Closes: https://issues.redhat.com/browse/RHEL-94967

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-06-09 09:01:51 +02:00
Giuseppe Scrivano 6498599587
store: move contiguous check to overlay
this check was initially added for fuse-overlayfs, but it should be
overlay decision not centralized in store.go.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-06-09 09:01:51 +02:00
Giuseppe Scrivano e8d7b9e061
drivers: Allow map-specific ID shifting decisions
The `SupportsShifting` method signature has been updated
to include `uidmap` and `gidmap` parameters.

Previously, a driver could only declare general support
for shifting.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2025-06-09 09:01:51 +02:00
openshift-merge-bot[bot] 07c0c32c62
Merge pull request #2344 from containers/renovate/golang.org-x-sync-0.x
fix(deps): update module golang.org/x/sync to v0.15.0
2025-06-06 20:45:14 +00:00
Miloslav Trmač 8076a6804f Remove a deprecated configuration section
... to silence Renovate proposing to file a PR which would
remove all comments: https://github.com/containers/storage/pull/2338

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-06-06 20:26:03 +02:00
renovate[bot] f8d0a4d238
fix(deps): update module golang.org/x/sync to v0.15.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 11:48:27 +00:00
openshift-merge-bot[bot] a1634ce6bb
Merge pull request #2342 from mtrmac/git-validation
Fix `git-validation` on PRs behind `main`
2025-06-06 11:47:45 +00:00
Miloslav Trmač 5953c36eee Update git-validation
... from a 6-year-old version

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-06-04 20:24:36 +02:00
Miloslav Trmač e584bbc882 Fix computation of the merge base for git-validation
CIRRUS_BASE_SHA is a valid commit, but it might not be
a parent of the current PR, so it might not be available,
making a ${CIRRUS_BASE_SHA}..$something git commit range expressions
fail.

Compare https://github.com/cirruslabs/cirrus-ci-docs/issues/1279 .

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-06-04 20:24:36 +02:00
openshift-merge-bot[bot] 78f4258b2b
Merge pull request #2328 from mtrmac/DifferOutput-nits
Fix nits from #2312
2025-05-15 00:40:00 +00:00
Miloslav Trmač 108b5b107f Drop a //nolint:contextcheck
AFAICS this does not apply to that line of code.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-05-14 20:53:29 +02:00
Miloslav Trmač 7ed7a91a9f Don't document the precise file position of a returned file
The callers don't really need to know, and this way we don't
need to get the details of the syntax correct.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-05-14 20:53:29 +02:00
Miloslav Trmač ce1a7ec125 Use a os.File.Seek method instead of directly calling unix.Seek
This ultimately amounts to the same thing (and os.File.Seek is
a tiny bit more costly, with some atomic operations) - using
os.File.Seek is more consistent with the surrounding code
relying on uses through os.File, as well as a tiny bit
shorter.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-05-14 20:53:29 +02:00
Miloslav Trmač 59e6d24252 Use io.SeekStart instead of hard-coding 0.
Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2025-05-14 20:53:29 +02:00