(ctx context.Context, name string)
| 106 | } |
| 107 | |
| 108 | func (n *root) Lookup(ctx context.Context, name string) (fs.Node, error) { |
| 109 | Logger.Printf("root.Lookup(%s)", name) |
| 110 | switch name { |
| 111 | case ".quitquitquit": |
| 112 | log.Fatalf("Shutting down due to root .quitquitquit lookup.") |
| 113 | case "WELCOME.txt": |
| 114 | return staticFileNode("Welcome to PerkeepFS.\n\nMore information is available in the pk-mount documentation.\n\nSee https://perkeep.org/cmd/pk-mount/ , or run 'go doc perkeep.org/cmd/pk-mount'.\n"), nil |
| 115 | case "recent": |
| 116 | return n.getRecentDir(), nil |
| 117 | case "tag", "date": |
| 118 | return notImplementDirNode{}, nil |
| 119 | case "at": |
| 120 | return n.getAtDir(), nil |
| 121 | case "roots": |
| 122 | return n.getRootsDir(), nil |
| 123 | case "versions": |
| 124 | return n.getVersionsDir(), nil |
| 125 | case "sha1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": |
| 126 | return notImplementDirNode{}, nil |
| 127 | case "sha224-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": |
| 128 | return notImplementDirNode{}, nil |
| 129 | case ".camli_fs_stats": |
| 130 | return statsDir{}, nil |
| 131 | case "mach_kernel", ".hidden", "._.": |
| 132 | // Just quiet some log noise on OS X. |
| 133 | return nil, fuse.ENOENT |
| 134 | } |
| 135 | |
| 136 | if br, ok := blob.Parse(name); ok { |
| 137 | Logger.Printf("Root lookup of blobref. %q => %v", name, br) |
| 138 | node := &node{fs: n.fs, blobref: br} |
| 139 | if _, err := node.schema(ctx); err != nil { |
| 140 | if os.IsNotExist(err) { |
| 141 | return nil, fuse.ENOENT |
| 142 | } else { |
| 143 | return nil, handleEIOorEINTR(err) |
| 144 | } |
| 145 | } |
| 146 | return node, nil |
| 147 | } |
| 148 | Logger.Printf("Bogus root lookup of %q", name) |
| 149 | return nil, fuse.ENOENT |
| 150 | } |
nothing calls this directly
no test coverage detected