Slide 45
Slide 45 text
GoͰFUSE
func (ctl *Ctl) Open(flags uint32, ctx *fuse.Context) (nodefs.File, fuse.Status) {
p, err := ctl.ReadFile()
if err != nil {
return nil, fuse.EIO
}
return nodefs.NewDataFile(p), fuse.OK
}
func (ctl *Ctl) Truncate(file nodefs.File, size uint64, ctx *fuse.Context) fuse.Status {
return fuse.OK
}
func (ctl *Ctl) Write(file nodefs.File, data []byte, off int64, ctx *fuse.Context)
(uint32, fuse.Status) {
err := ctl.WriteFile(data)
if err != nil {
return 0, fuse.EINVAL
}
return uint32(len(data)), fuse.OK
}
ϑΝΠϧૢ࡞Λ͢Δ߹ͷϝιουͳͲ