Commit f5dc8c35 authored by Aaron Jacobs's avatar Aaron Jacobs

Added conversion support.

parent 15b31ee0
...@@ -134,6 +134,27 @@ func convertInMessage( ...@@ -134,6 +134,27 @@ func convertInMessage(
Mode: convertFileMode(in.Mode) | os.ModeDir, Mode: convertFileMode(in.Mode) | os.ModeDir,
} }
case fusekernel.OpMknod:
in := (*fusekernel.MknodIn)(inMsg.Consume(fusekernel.MknodInSize(protocol)))
if in == nil {
err = errors.New("Corrupt OpMknod")
return
}
name := inMsg.ConsumeBytes(inMsg.Len())
i := bytes.IndexByte(name, '\x00')
if i < 0 {
err = errors.New("Corrupt OpMknod")
return
}
name = name[:i]
o = &fuseops.MkNodeOp{
Parent: fuseops.InodeID(inMsg.Header().Nodeid),
Name: string(name),
Mode: convertFileMode(in.Mode),
}
case fusekernel.OpCreate: case fusekernel.OpCreate:
in := (*fusekernel.CreateIn)(inMsg.Consume(fusekernel.CreateInSize(protocol))) in := (*fusekernel.CreateIn)(inMsg.Consume(fusekernel.CreateInSize(protocol)))
if in == nil { if in == nil {
...@@ -491,6 +512,11 @@ func (c *Connection) kernelResponseForOp( ...@@ -491,6 +512,11 @@ func (c *Connection) kernelResponseForOp(
out := (*fusekernel.EntryOut)(m.Grow(size)) out := (*fusekernel.EntryOut)(m.Grow(size))
convertChildInodeEntry(&o.Entry, out) convertChildInodeEntry(&o.Entry, out)
case *fuseops.MkNodeOp:
size := fusekernel.EntryOutSize(c.protocol)
out := (*fusekernel.EntryOut)(m.Grow(size))
convertChildInodeEntry(&o.Entry, out)
case *fuseops.CreateFileOp: case *fuseops.CreateFileOp:
eSize := fusekernel.EntryOutSize(c.protocol) eSize := fusekernel.EntryOutSize(c.protocol)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment