David Sheets
212c58cf13
transfused: use memcmp instead of a loop for checking init message
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-12-15 11:03:29 +00:00
David Sheets
e6a66eaef8
transfused: use read_exactly in subproto reading
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-12-15 11:03:29 +00:00
David Sheets
274e119da8
transfused: use read_exactly in init thread message reading
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-12-15 11:03:29 +00:00
David Sheets
f071e2bfde
transfused: factor read_exactly out of read_message
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-12-15 11:03:29 +00:00
David Sheets
3474639a4f
transfused: minor formatting fixup
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-12-15 11:03:29 +00:00
David Sheets
78544eb1ae
transfused: replace brittle init control message writing with write_exactly
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-12-15 11:03:29 +00:00
David Sheets
125c3941eb
transfused: replace brittle event pid writing with write_exactly
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-12-15 11:03:29 +00:00
David Sheets
1b6ee65a02
transfused: improve write_exactly error handling
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-12-15 11:03:29 +00:00
David Sheets
2414966689
transfused: improve read_message robustness
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-12-15 11:03:29 +00:00
Riyaz Faizullabhoy
8b7cdd41dc
Use digests instead of tags where possible
...
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com >
2016-12-01 09:39:02 -08:00
Justin Cormack
88eafcc239
update c build base image
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-11-18 23:32:47 +00:00
Justin Cormack
29196a5872
update C build base images for Musl update
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-10-20 13:23:12 +01:00
Justin Cormack
47124e8282
do not remove build containers
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-10-11 16:12:40 +01:00
Justin Cormack
4e2f887f40
add ncurses to C build for menuconfig
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-10-01 18:26:38 +01:00
Justin Cormack
652d5eddf3
Use build container id rather than tagging builds
...
This means that multiple builds will not conflict, so we can
remove the lock from the CI. Also quieter when no errors.
Some still left to do, only done the ones used in build and CI
initially. Some of the others will be cleaned up anyway later.
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-09-29 20:21:17 +01:00
Justin Cormack
bf29850d3c
Use patched aufs-utils so can compile kernel with alpine
...
This is going to be submitted upstream.
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-09-29 16:17:46 +01:00
Rolf Neugebauer
31430016b2
transfused: Use Linux coding style (mostly)
...
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com >
2016-09-16 11:02:29 +01:00
Justin Cormack
8646f76ed2
update to latest alpine base images
...
Signed-off-by: Justin Cormack <justin@specialbusservice.com >
2016-09-12 16:02:07 +01:00
Justin Cormack
b1597ff9a9
Move all output to the directories it will be in eventually
...
Signed-off-by: Justin Cormack <justin@specialbusservice.com >
2016-09-12 16:02:07 +01:00
Justin Cormack
cbd6fc71a1
clean up transfused build
...
Signed-off-by: Justin Cormack <justin@specialbusservice.com >
2016-09-12 16:00:53 +01:00
Justin Cormack
3a2c28f352
Closer to reproducible builds
...
Make an alpine base image for C and Go builds.
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-09-06 13:18:11 +01:00
David Sheets
78cca476fb
transfused: copyedit a couple error messages
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-07-22 13:40:52 +01:00
David Sheets
ddd0fcc603
transfused: add separate FUSE notify channel to avoid deadlock
...
This adds a new notify channel to the transfuse protocol. It is not
optional yet but could be made to be optional. A notify protocol and
notify channel are required because writing FUSE response messages to
the FUSE device has different semantics from writing asynchronous
notifications. In particular, response message writes only error on
malformed messages, do not take locks, and do not block. In contrast,
asynchronous notifications can error under normal conditions
(e.g. invalidating a cache entry that doesn't exist), can take locks
during the write call, and can block.
If responses and notifications occur in the same thread, the file system
can become deadlocked when syscalls lock resources waiting for a
response and a notification is written that blocks attempting to acquire
those same locks. The response that would unlock the contended lock
could be queued behind the notification write but the notification write
can't unblock until the response is written in the future. This patch
enables file systems to avoid that fate by offering a secondary channel
on which to send notifications.
Signed-off-by: David Sheets <dsheets@docker.com >
2016-07-22 13:35:57 +01:00
Justin Cormack
db7bc9cb8c
Only run transfused on mac platform
...
See #301
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-07-20 12:11:39 +01:00
Rolf Neugebauer
6c95bff567
init: don't start transfused on Windows
...
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com >
2016-07-12 14:04:08 +01:00
David Sheets
ef98586c22
transfused: add mknod reg file event actuation message
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-07-11 16:26:00 -07:00
David Sheets
11f965ce7b
Remove /Mac in docker init and transfused init
...
Replace /Mac with /host_docker_app and replace driverDir with just driver.
Signed-off-by: David Sheets <dsheets@docker.com >
2016-07-08 14:36:26 -07:00
David Sheets
fbcba85f0e
transfused: distinguish export requests from mount requests
...
We distinguish export suitability requests from bind mount suitability
requests in the transfuse control protocol. This distinction allows us to
permit both bind mounts of empty directories and export mounts onto empty
directories. Addresses docker/pinata#4213 .
Signed-off-by: David Sheets <dsheets@docker.com >
2016-07-04 18:53:05 -07:00
David Sheets
a84e4ecfdd
transfused: use find rather than rm+glob to clean up /tmp
...
This avoids annoying error messages about . and ..
Signed-off-by: David Sheets <dsheets@docker.com >
2016-06-09 11:27:59 +01:00
David Sheets
4090ccf9d0
transfused: replace space indentation in rc script with tabs for consistency
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-06-08 15:16:43 +01:00
David Sheets
c92ff1d36c
transfused: remove anything in /tmp before starting
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-06-08 15:16:43 +01:00
Ian Campbell
b8a7032161
Add || true to the docker rmi invocations in the clean target
...
Linux xargs calls the command with no arguments if it gets no inputs, which
`docker rmi` complains about. It provides -r / --no-run-if-empty to prevent
this but unfortunately this isn't supported on OSX.
Ignore errors from `docker rmi` so that `make clean` will keep going and clean
up later stuff.
Signed-off-by: Ian Campbell <ian.campbell@docker.com >
2016-06-08 13:59:47 +01:00
David Sheets
c6cc814454
transfused: remove rc script cruft
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-06-07 22:22:23 +01:00
David Sheets
c2c0cb98ce
transfused: when starting, wait up to 2s for pidfile to appear
...
pidfile appearance is triggered by start-up mount completion.
Signed-off-by: David Sheets <dsheets@docker.com >
2016-06-07 22:21:16 +01:00
David Sheets
d605e6df30
transfused: update control protocol ( #181 )
...
Add a mount suitability predicate, a pong reply message type, and a log
notice message type. Also, fixes the multi-line mount point printing issue.
Signed-off-by: David Sheets <dsheets@docker.com >
2016-06-07 19:13:52 +01:00
David Sheets
4330d389cc
transfused: introduce automatic mount point preparation
...
Mount points are now made dynamically if either the leaf doesn't exist
or the leaf has no children. Any proper prefix of the target mount point may
or may not exist prior to mounting.
Signed-off-by: David Sheets <dsheets@docker.com >
2016-06-03 16:31:49 +01:00
Justin Cormack
8a86af7d1e
Update to Alpine 3.4
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-06-03 12:45:15 +01:00
David Sheets
afd7458c01
transfused: add a PING event for vsock RTT measurement
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-04-21 10:22:57 +01:00
David Sheets
a2ffa99c25
transfused: make sure to flush the logging socket when we die
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-04-16 18:54:48 +01:00
David Sheets
6f76ac9627
transfused: push log messages over control channel if available
...
Also, remove self-logging and triggers.
Signed-off-by: David Sheets <dsheets@docker.com >
2016-04-15 17:11:38 +01:00
David Sheets
8b8bf30eb7
transfused: update the event protocol for streaming vsock
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-04-14 14:57:06 +01:00
David Sheets
52feb0c4d5
transfused: use vsock transport instead of 9p
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-04-12 16:38:06 +01:00
Justin Cormack
3c9c67bb16
remove 9pinit package, work now done by appropriate packages or mobyconfig tool
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-04-07 16:40:54 +01:00
Justin Cormack
d8001a2475
move transfused 9p mount into its own init file
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-04-07 10:35:50 +01:00
Justin Cormack
6b00a34abc
add --rm for transfused
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-03-29 18:31:55 +01:00
Jeremy Yallop
d521bcfcd9
Transfused: free connection objects when read returns 0.
2016-03-29 16:37:51 +01:00
Justin Cormack
f51deb84d4
use build-base not alpine-sdk as smaller and we do not need rest
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-03-28 18:18:48 +01:00
David Sheets
b8660ad77b
transfused: add chmod event syscall
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-03-20 22:01:22 +00:00
David Sheets
7861ecc474
transfused: create threads already detached
...
Signed-off-by: David Sheets <david.sheets@docker.com >
2016-03-20 11:20:00 +00:00
David Sheets
f7f3690453
transfused: move logging off of the event actuation thread
...
Signed-off-by: David Sheets <david.sheets@docker.com >
2016-03-20 11:08:57 +00:00