Commit f6679004 authored by Aaron Jacobs's avatar Aaron Jacobs

RenameOp

parent 88036b92
......@@ -176,13 +176,30 @@ func Convert(
io = to
co = &to.commonOp
case *fuseshim.RenameRequest:
case fusekernel.OpRename:
in := (*fusekernel.RenameIn)(m.Data())
if m.Len() < unsafe.Sizeof(*in) {
goto corrupt
}
names := m.Bytes()[unsafe.Sizeof(*in):]
// names should be "old\x00new\x00"
if len(names) < 4 {
goto corrupt
}
if names[len(names)-1] != '\x00' {
goto corrupt
}
i := bytes.IndexByte(names, '\x00')
if i < 0 {
goto corrupt
}
oldName, newName := names[:i], names[i+1:len(names)-1]
to := &RenameOp{
bfReq: typed,
OldParent: InodeID(typed.Header.Node),
OldName: typed.OldName,
NewParent: InodeID(typed.NewDir),
NewName: typed.NewName,
OldParent: InodeID(m.Header().Node),
OldName: string(oldName),
NewParent: InodeID(in.Newdir),
NewName: string(newName),
}
io = to
co = &to.commonOp
......
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