FUSE(Bazil-Go):如何实现MkDir请求?

问题描述 投票:1回答:1

我正在尝试用Go语言编写的保险丝来实现功能mkdir,而我正在使用Bazil library。我已经成功实现了一个简单的只读fs,现在我希望能够在任何现有目录中调用mkdir来创建一个新目录。

我已经确保所有现有目录都是可写的,[attr.Mode = os.ModeDir | 0777)。现在,我刚刚添加了功能:

func (d Dir) MkDir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error) {
    dir := &Dir{name: req.Name, files: 0, inode: 10 /*a random inode*/,mode: os.FileMode(0777),nextdir: nil, nextfile: nil}
    d.nextdir = dir
    return dir, nil
}

在我自己的Bazil库hello fs example实现中。但这似乎没有任何区别。

[当我从终端呼叫mkdir new_dir_name时,出现错误:“ mkdir:无法创建目录'new_dir_name':不允许操作”,即使我添加了mkdir功能也是如此。

关于为什么会发生这种情况的任何见解,以及我应该在我的代码中添加哪些其他内容以使此工作正常进行,都很棒。另外,这是我的第一个stackoverflow问题,所以如果不能以明确的方式提出要求,对不起。

go mkdir fuse
1个回答
0
投票

像这样的make目录的正确功能

func (d *Dir) Mkdir(ctx context.Context, req *fuse.MkdirRequest) (fs.Node, error) {

}
© www.soinside.com 2019 - 2024. All rights reserved.