Added conversion support.
parent
15b31ee0ee
commit
f5dc8c356e
|
@ -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(
|
||||||
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)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue