Justin Cormack
093a81064b
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
b499b52d48
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
20fc67092a
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
8473eb56f2
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
c75eb93d1c
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
ede31ffe5b
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
903e6430d9
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
e725aa7d47
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
5165a6c795
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
06f1a5b81f
transfused: remove rc script cruft
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-06-07 22:22:23 +01:00
David Sheets
67dd25d1ba
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
b58448fdf5
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
0d0413b264
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
e434c70507
Update to Alpine 3.4
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-06-03 12:45:15 +01:00
David Sheets
59310aec70
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
1113c21644
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
fe91be997d
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
b894b67417
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
cb08ad76d3
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
0acd6c8196
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
73a0d72378
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
f98fb92480
add --rm for transfused
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-03-29 18:31:55 +01:00
Jeremy Yallop
f23b6d7596
Transfused: free connection objects when read returns 0.
2016-03-29 16:37:51 +01:00
Justin Cormack
dc5258eeed
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
a3b644ca5d
transfused: add chmod event syscall
...
Signed-off-by: David Sheets <dsheets@docker.com >
2016-03-20 22:01:22 +00:00
David Sheets
c0b857c7bb
transfused: create threads already detached
...
Signed-off-by: David Sheets <david.sheets@docker.com >
2016-03-20 11:20:00 +00:00
David Sheets
72157cf5ee
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
David Sheets
725329983a
transfused: fix run-time log non-append bug
...
Signed-off-by: David Sheets <david.sheets@docker.com >
2016-03-20 11:04:01 +00:00
David Sheets
471833fae7
transfused: work-around virtio-9p/v9fs zero-copy bug
...
Signed-off-by: David Sheets <david.sheets@docker.com >
2016-03-20 11:03:24 +00:00
David Sheets
16101e66c3
transfused: add start-up log, self-log trigger, and run-time log flags
...
During start-up, logs are sent to syslog and stderr and the console if
syslog is not available. -l logfile will also send the logs to logfile but
only prior to any log trigger events. -m mount_trigger lets the user
specify the mount point to watch for to begin sending logs to
-t triggered_log file which may be on the newly mounted file system. Log
concatenation and rollover are not implemented, yet. Logging functionality
has been separated into transfused_log.c. Locks have been placed around
shared fds. The writer thread is now symmetric to the reader thread instead
of inheriting the parent's thread in order to trigger log switchover after
the file system proxy has started. The coredump size rlimit has been lifted.
Signed-off-by: David Sheets <david.sheets@docker.com >
2016-03-18 11:21:42 +00:00
David Sheets
58ded96b29
transfused: fix usage msg, remove syslog, use start-stop-daemon logging
...
Signed-off-by: David Sheets <david.sheets@docker.com >
2016-03-18 09:33:41 +00:00
David Sheets
224bbcea63
transfused: change protocol to support events, add syslog logging
...
The event string in the 9p socket file system now contains a 1 byte
channel type immediately preceding the connection ID. This channel type
determines which protocol will be used on the channel -- m for FUSE
protocol, e for events. The event messages are host-initiated and have
the following structure:
2 bytes for total length
2 bytes for path length + NUL (x)
x bytes for path
1 byte for syscall
stderr logging was also changed to syslog-based logging in this patch.
Signed-off-by: David Sheets <david.sheets@docker.com >
2016-03-18 09:33:41 +00:00
Justin Cormack
b4560d8876
fix typo
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-03-17 14:06:39 +00:00
Justin Cormack
8c49b54738
make sure transfused is logging
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-03-17 12:30:18 +00:00
Justin Cormack
928667ca57
clean up transfused startup scripts
...
Signed-off-by: Justin Cormack <justin.cormack@docker.com >
2016-02-26 13:46:26 +00:00
David Sheets
b1d3101846
transfused: if the pidfile exists, make sure to truncate it
2016-02-12 14:08:11 +00:00
David Sheets
cbd5ca5991
transfused: it is ok if the pidfile does not yet exist
2016-02-12 14:08:11 +00:00
David Sheets
eb199ca9d7
transfused: init with a pidfile
2016-02-12 14:08:11 +00:00
David Sheets
7f088f9008
transfused: fix the 9p socket root name
2016-02-12 14:08:10 +00:00
David Sheets
94c3143c76
transfused: introduce command line arguments for pidfile, fusermount, 9p
2016-02-12 14:08:10 +00:00
David Sheets
d69b402584
transfused: improve some error message output and fix an fd mixup
2016-02-12 14:08:10 +00:00
David Sheets
c830c22335
transfused: add trace logging error checking
2016-02-12 14:08:10 +00:00
David Sheets
71fa8711ec
transfused: do not check return of close
...
on advice from @justincormack
2016-02-12 14:08:10 +00:00
David Sheets
fee789baf1
transfused: hook debug into HUP-toggled run-time debug system
2016-02-12 14:08:10 +00:00
David Sheets
2fec071a41
transfused: clean up equal sign spacing
2016-02-12 14:08:10 +00:00
David Sheets
f949e737e8
transfused: clean up comma spacing
2016-02-12 14:08:10 +00:00
David Sheets
c8b9013ed3
transfused: use an absolute path for fusermount
...
Gets rid of non-portable execvpe for execve and prevents diversion.
Explicit diversion will be introduced as a command-line option later.
2016-02-12 14:08:10 +00:00
David Sheets
7ab2f3816c
transfused: address @yallop's comments
2016-02-12 14:08:10 +00:00
David Sheets
6384fbe0dc
transfused: fix .gitignore
2016-02-12 14:07:43 +00:00
David Sheets
9a9e35b4ba
Add a FUSE proxy written in C
...
This should improve portability, be more palatable for future
distribution, and enable lower-level control. Addresses #8 .
2016-02-12 14:07:43 +00:00