Commit Graph

29 Commits

Author SHA1 Message Date
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