moby--moby/daemon
Cory Snider 18e322bc7c Lock container when deleting its root directory
Attempting to delete the directory while another goroutine is
concurrently executing a CheckpointTo() can fail on Windows due to file
locking. As all callers of CheckpointTo() are required to hold the
container lock, holding the lock while deleting the directory ensures
that there will be no interference.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2022-08-24 14:59:08 -04:00
..
cluster introduce GetImageOpts to manage image inspect data in backend 2022-08-16 16:49:46 +02:00
config Merge pull request #43978 from cpuguy83/default_runtime_shim 2022-08-18 22:59:57 +02:00
containerd Merge pull request #43968 from thaJeztah/implement_GetImageOpts 2022-08-24 19:07:30 +02:00
events
graphdriver Fix file capabilities droping in Dockerfile 2022-07-27 17:21:02 +02:00
images Merge pull request #43968 from thaJeztah/implement_GetImageOpts 2022-08-24 19:07:30 +02:00
initlayer daemon/initlayer: Init(): remove unused stub for Windows 2022-05-11 01:27:47 +02:00
links all: replace strings.Replace with strings.ReplaceAll 2022-05-09 19:45:40 +08:00
listeners
logger logger/journald: implement --follow correctly 2022-07-25 16:41:38 -04:00
names
network
stats
testdata
apparmor_default.go
apparmor_default_unsupported.go
archive.go
archive_tarcopyoptions.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
archive_tarcopyoptions_unix.go
archive_tarcopyoptions_windows.go
archive_unix.go
archive_windows.go
attach.go Make it explicit raw|multiplexed stream implementation being used 2022-05-12 11:36:31 +02:00
auth.go daemon: use types/registry.AuthConfig 2022-07-29 23:05:18 +02:00
changes.go
checkpoint.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
cluster.go
commit.go
configs.go
configs_linux.go
configs_unsupported.go
configs_windows.go
container.go ImageService: rename GraphDriverName to StorageDriver 2022-08-18 09:44:51 +02:00
container_linux.go
container_operations.go
container_operations_unix.go daemon: killWithSignal, killPossiblyDeadProcess: accept syscall.Signal 2022-05-05 00:53:52 +02:00
container_operations_windows.go
container_unix_test.go
container_windows.go
content.go daemon: rename some variables, import-aliases and receivers 2022-04-20 21:22:28 +02:00
create.go introduce GetImageOpts to manage image inspect data in backend 2022-08-16 16:49:46 +02:00
create_test.go
create_unix.go
create_windows.go
daemon.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
daemon_linux.go daemon: fix daemon.Shutdown, daemon.Cleanup not cleaning up overlay2 mounts 2022-05-29 16:28:13 +02:00
daemon_linux_test.go daemon: fix daemon.Shutdown, daemon.Cleanup not cleaning up overlay2 mounts 2022-05-29 16:28:13 +02:00
daemon_test.go Use hashicorp/go-memdb instead of truncindex 2022-05-20 18:22:21 +02:00
daemon_unix.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
daemon_unix_test.go
daemon_unsupported.go daemon.NewDaemon(): fix network feature detection on first start 2022-06-03 17:54:43 +02:00
daemon_windows.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
daemon_windows_test.go
debugtrap_unix.go
debugtrap_unsupported.go
debugtrap_windows.go
delete.go Lock container when deleting its root directory 2022-08-24 14:59:08 -04:00
delete_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
dependency.go Bump swarmkit to v2 2022-04-21 17:33:07 -04:00
devices_linux.go
disk_usage.go api/types: replace uses of deprecated types.Volume with volume.Volume 2022-04-21 19:50:59 +02:00
errors.go filters: lowercase error 2022-03-18 09:44:53 +01:00
events.go daemon: LogDaemonEventWithAttributes: don't call SystemInfo() 2022-06-07 22:01:12 +02:00
events_test.go
exec.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
exec_linux.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
exec_linux_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
exec_windows.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
export.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
health.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
health_test.go
id.go daemon: separate daemon ID from trust-key 2022-05-04 20:17:18 +02:00
image_service.go Merge pull request #43968 from thaJeztah/implement_GetImageOpts 2022-08-24 19:07:30 +02:00
info.go daemon: info: fillDriverInfo() get driver-name from ImageService 2022-08-18 09:44:56 +02:00
info_unix.go Allow containerd shim refs in default-runtime 2022-08-18 18:41:03 +00:00
info_unix_test.go
info_windows.go
inspect.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
inspect_linux.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
inspect_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
inspect_windows.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
keys.go
keys_unsupported.go
kill.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
licensing.go
licensing_test.go
links.go
list.go introduce GetImageOpts to manage image inspect data in backend 2022-08-16 16:49:46 +02:00
list_test.go filters: lowercase error 2022-03-18 09:44:53 +01:00
list_unix.go
list_windows.go
logdrivers_linux.go
logdrivers_windows.go
logs.go
logs_test.go
metrics.go health: Start probe timeout after exec starts 2022-04-28 17:21:03 -04:00
metrics_unix.go
metrics_unsupported.go
monitor.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
mounts.go
names.go
network.go replace golint with revive, as it's deprecated 2022-07-04 10:15:54 +02:00
network_windows.go
nvidia_linux.go
oci_linux.go daemon: make the snapshotter configurable 2022-08-22 18:57:42 +02:00
oci_linux_test.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
oci_opts.go daemon/linux: Set console size on creation 2022-05-19 07:57:27 +02:00
oci_utils.go
oci_windows.go introduce GetImageOpts to manage image inspect data in backend 2022-08-16 16:49:46 +02:00
oci_windows_test.go Bump swarmkit to v2 2022-04-21 17:33:07 -04:00
pause.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
prune.go
reload.go daemon: LogDaemonEventWithAttributes: don't call SystemInfo() 2022-06-07 22:01:12 +02:00
reload_test.go daemon: daemon.networkOptions(): don't pass Config as argument 2022-04-23 23:34:13 +02:00
reload_unix.go
reload_windows.go
rename.go
resize.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
resize_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
restart.go daemon/restart: Don't mutate AutoRemove when restarting 2022-07-20 09:23:31 +02:00
runtime_unix.go Allow containerd shim refs in default-runtime 2022-08-18 18:41:03 +00:00
runtime_unix_test.go daemon/config: New(): initialize config with platform-specific defaults 2022-08-17 08:54:32 +02:00
runtime_windows.go
seccomp_linux.go Remove "seccomp" build tag 2022-05-12 14:48:35 -07:00
seccomp_linux_test.go Remove "seccomp" build tag 2022-05-12 14:48:35 -07:00
seccomp_unsupported.go
secrets.go
secrets_linux.go
secrets_unsupported.go
secrets_windows.go
start.go Share logic to create-or-replace a container 2022-08-24 14:59:08 -04:00
start_unix.go
start_windows.go
stats.go
stats_collector.go
stats_unix.go
stats_windows.go
stop.go container: StopSignal(): return syscall.Signal 2022-05-05 00:53:53 +02:00
top_unix.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
top_unix_test.go
top_windows.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
trustkey.go
trustkey_test.go fix unclosed file-handles in tests 2022-05-31 21:53:38 +02:00
unpause.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
update.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
update_linux.go
update_windows.go
volumes.go introduce CreateMountpoint for parity between binds and mounts 2022-05-19 16:43:06 +02:00
volumes_linux.go
volumes_linux_test.go
volumes_unit_test.go
volumes_unix.go
volumes_windows.go
wait.go
workdir.go