Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jacobsa-fuse
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
jacobsa-fuse
Commits
d12e71f7
Commit
d12e71f7
authored
Apr 29, 2015
by
Aaron Jacobs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added a Connection.log method, with a TODO.
parent
380eba1d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
3 deletions
+18
-3
connection.go
connection.go
+18
-3
No files found.
connection.go
View file @
d12e71f7
...
...
@@ -27,6 +27,7 @@ type Connection struct {
logger
*
log
.
Logger
wrapped
*
bazilfuse
.
Conn
opsInFlight
sync
.
WaitGroup
nextOpID
uint64
}
// Responsibility for closing the wrapped connection is transferred to the
...
...
@@ -42,6 +43,15 @@ func newConnection(
return
}
// Log information for an operation with the given unique ID.
func
(
c
*
Connection
)
log
(
opID
uint64
,
format
string
,
v
...
interface
{})
{
// TODO(jacobsa): Add op ID and fixed-width file:line to output.
c
.
logger
.
Printf
(
format
,
v
...
)
}
// Read the next op from the kernel process. Return io.EOF if the kernel has
// closed the connection.
//
...
...
@@ -58,20 +68,25 @@ func (c *Connection) ReadOp() (op fuseops.Op, err error) {
return
}
c
.
logger
.
Printf
(
"Received: %v"
,
bfReq
)
// Choose an ID for this operation.
opID
:=
c
.
nextOpID
c
.
nextOpID
++
// Log the receipt of the operation.
c
.
log
(
opID
,
"Received: %v"
,
bfReq
)
// Special case: responding to this is required to make mounting work on OS
// X. We don't currently expose the capability for the file system to
// intercept this.
if
statfsReq
,
ok
:=
bfReq
.
(
*
bazilfuse
.
StatfsRequest
);
ok
{
c
.
log
ger
.
Println
(
"Responding OK to Statfs."
)
c
.
log
(
opID
,
"Responding OK to Statfs."
)
statfsReq
.
Respond
(
&
bazilfuse
.
StatfsResponse
{})
continue
}
// Convert it, if possible.
if
op
=
fuseops
.
Convert
(
bfReq
,
c
.
logger
,
&
c
.
opsInFlight
);
op
==
nil
{
c
.
log
ger
.
Printf
(
"Returning ENOSYS for unknown bazilfuse request: %v"
,
bfReq
)
c
.
log
(
opID
,
"Returning ENOSYS for unknown bazilfuse request: %v"
,
bfReq
)
bfReq
.
RespondError
(
ENOSYS
)
continue
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment