MCPcopy
hub / github.com/rclone/rclone / Create

Method Create

cmd/mount/dir.go:148–163  ·  view source on GitHub ↗

Create makes a new file

(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse)

Source from the content-addressed store, hash-verified

146
147// Create makes a new file
148func (d *Dir) Create(ctx context.Context, req *fuse.CreateRequest, resp *fuse.CreateResponse) (node fusefs.Node, handle fusefs.Handle, err error) {
149 defer log.Trace(d, "name=%q", req.Name)("node=%v, handle=%v, err=%v", &node, &handle, &err)
150 // translate the fuse flags to os flags
151 osFlags := int(req.Flags) | os.O_CREATE
152 file, err := d.Dir.Create(req.Name, osFlags)
153 if err != nil {
154 return nil, nil, translateError(err)
155 }
156 fh, err := file.Open(osFlags)
157 if err != nil {
158 return nil, nil, translateError(err)
159 }
160 node = &File{file, d.fsys}
161 file.SetSys(node) // cache the FUSE node for later
162 return node, &FileHandle{fh}, err
163}
164
165var _ fusefs.NodeMkdirer = (*Dir)(nil)
166

Callers 1

MknodMethod · 0.95

Calls 5

TraceFunction · 0.92
translateErrorFunction · 0.70
CreateMethod · 0.65
OpenMethod · 0.65
SetSysMethod · 0.65

Tested by

no test coverage detected