Commits


lint/vet: address several issues identified by lint/vet Signed-off-by: Stephen J Day <stephen.day@docker.com>


Merge pull request #8 from stevvooe/err-instead-nil errors: return errors rather than nil


errors: return errors rather than nil Signed-off-by: Stephen J Day <stephen.day@docker.com>


Merge pull request #4 from FrenchBen/modify-defaultrw-timeout Modified defaultRWTimeout to 30


Modified defaultRWTimeout to 30 Signed-off-by: French Ben <frenchben@docker.com>


Merge branch 'pinata-filtered'


Merge branch 'pinata-pkg-filtered' into pinata-filtered Signed-off-by: Stephen J Day <stephen.day@docker.com>


p9p: remove per-message logging Printing all requests and responses to the log is quite expensive, especially when sending megabytes of data through 9P. This patch leaves the logging in the error paths and the flush path. Signed-off-by: David Scott <dave.scott@docker.com>


v1/pkg/p9p


fs/p9p/new: cleanup encoding/decoding We take some time to cleanup the codec implementation. The need for the message to implement the Message interface has been removed to allow flexibility in what can land in the message field. Error types can be returned directly now. The messages have been moved into a separate file. We also ensure that the number of pointer types is reduced in deserialized messages, hopefully avoiding unnecessary pointer traversal. Signed-off-by: Stephen J Day <stephen.day@docker.com>


fs/p9p/new: refactor to use interface for channel Signed-off-by: Stephen J Day <stephen.day@docker.com>


fs/p9p/new: proxy end to end fully working Signed-off-by: Stephen J Day <stephen.day@docker.com>


fs/p9p/new: stat implementation and correct dir/Rstat encoding Signed-off-by: Stephen J Day <stephen.day@docker.com>


fs/p9p/new: fully working ls with ufs The repl and client session work fully with rminnich/go9p/ufs. The key to this was proper support for directory serialization, which is subtle. The size field for Rread was the incorrect size. Several robustness improvements are also included. Issues with the timeouts and missing error returns have been addressed. Signed-off-by: Stephen J Day <stephen.day@docker.com>


fs/p9p/new: refactor channel framing After a few connection bugs and framing issues, the transport has been refactored into a channel that manages raw message sending. More importantly, this frees up pre-session protocol version negotiation. To support this, the encoder and decoder have been folded into a Codec interface. The encoding support still needs work, but this has made the server and client code much simpler to understand. Signed-off-by: Stephen J Day <stephen.day@docker.com>