mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-26 19:45:35 +00:00
14683371ee
This change updates the tailfs file and package names to their new naming convention. Updates #tailscale/corp#16827 Signed-off-by: Charlotte Brandhorst-Satzkorn <charlotte@tailscale.com>
31 lines
793 B
Go
31 lines
793 B
Go
// Copyright (c) Tailscale Inc & AUTHORS
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
package dirfs
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
|
|
"tailscale.com/drive/driveimpl/shared"
|
|
)
|
|
|
|
// Mkdir implements webdav.FileSystem. All attempts to Mkdir a directory that
|
|
// already exists will succeed. All other attempts will fail with
|
|
// os.ErrPermission.
|
|
func (dfs *FS) Mkdir(ctx context.Context, name string, perm os.FileMode) error {
|
|
nameWithoutStaticRoot, isStaticRoot := dfs.trimStaticRoot(name)
|
|
if isStaticRoot || shared.IsRoot(name) {
|
|
// root directory already exists, consider this okay
|
|
return nil
|
|
}
|
|
|
|
child := dfs.childFor(nameWithoutStaticRoot)
|
|
if child != nil {
|
|
// child already exists, consider this okay
|
|
return nil
|
|
}
|
|
|
|
return &os.PathError{Op: "mkdir", Path: name, Err: os.ErrPermission}
|
|
}
|