提交 7e88f83f 作者: Stephen Whitmore

Revert "mfs.Mkdir returns the final Directory it creates"

This reverts commit dfd98f27.

License: MIT
Signed-off-by: 's avatarStephen Whitmore <noffle@ipfs.io>
上级 8fcb585c
...@@ -650,7 +650,7 @@ Examples: ...@@ -650,7 +650,7 @@ Examples:
flush = true flush = true
} }
_, err = mfs.Mkdir(n.FilesRoot, dirtomake, dashp, flush) err = mfs.Mkdir(n.FilesRoot, dirtomake, dashp, flush)
if err != nil { if err != nil {
res.SetError(err, cmds.ErrNormal) res.SetError(err, cmds.ErrNormal)
return return
......
...@@ -349,7 +349,7 @@ func (adder *Adder) addNode(node *dag.Node, path string) error { ...@@ -349,7 +349,7 @@ func (adder *Adder) addNode(node *dag.Node, path string) error {
dir := gopath.Dir(path) dir := gopath.Dir(path)
if dir != "." { if dir != "." {
if _, err := mfs.Mkdir(adder.mr, dir, true, false); err != nil { if err := mfs.Mkdir(adder.mr, dir, true, false); err != nil {
return err return err
} }
} }
...@@ -420,7 +420,7 @@ func (adder *Adder) addFile(file files.File) error { ...@@ -420,7 +420,7 @@ func (adder *Adder) addFile(file files.File) error {
func (adder *Adder) addDir(dir files.File) error { func (adder *Adder) addDir(dir files.File) error {
log.Infof("adding directory: %s", dir.FileName()) log.Infof("adding directory: %s", dir.FileName())
_, err := mfs.Mkdir(adder.mr, dir.FileName(), true, false) err := mfs.Mkdir(adder.mr, dir.FileName(), true, false)
if err != nil { if err != nil {
return err return err
} }
......
...@@ -100,9 +100,9 @@ func PutNode(r *Root, path string, nd *dag.Node) error { ...@@ -100,9 +100,9 @@ func PutNode(r *Root, path string, nd *dag.Node) error {
// Mkdir creates a directory at 'path' under the directory 'd', creating // Mkdir creates a directory at 'path' under the directory 'd', creating
// intermediary directories as needed if 'mkparents' is set to true // intermediary directories as needed if 'mkparents' is set to true
func Mkdir(r *Root, pth string, mkparents bool, flush bool) (*Directory, error) { func Mkdir(r *Root, pth string, mkparents bool, flush bool) error {
if pth == "" { if pth == "" {
return nil, fmt.Errorf("no path given to Mkdir") return fmt.Errorf("no path given to Mkdir")
} }
parts := path.SplitList(pth) parts := path.SplitList(pth)
if parts[0] == "" { if parts[0] == "" {
...@@ -117,9 +117,9 @@ func Mkdir(r *Root, pth string, mkparents bool, flush bool) (*Directory, error) ...@@ -117,9 +117,9 @@ func Mkdir(r *Root, pth string, mkparents bool, flush bool) (*Directory, error)
if len(parts) == 0 { if len(parts) == 0 {
// this will only happen on 'mkdir /' // this will only happen on 'mkdir /'
if mkparents { if mkparents {
return nil, nil return nil
} }
return nil, fmt.Errorf("cannot create directory '/': Already exists") return fmt.Errorf("cannot create directory '/': Already exists")
} }
cur := r.GetValue().(*Directory) cur := r.GetValue().(*Directory)
...@@ -128,16 +128,16 @@ func Mkdir(r *Root, pth string, mkparents bool, flush bool) (*Directory, error) ...@@ -128,16 +128,16 @@ func Mkdir(r *Root, pth string, mkparents bool, flush bool) (*Directory, error)
if err == os.ErrNotExist && mkparents { if err == os.ErrNotExist && mkparents {
mkd, err := cur.Mkdir(d) mkd, err := cur.Mkdir(d)
if err != nil { if err != nil {
return nil, err return err
} }
fsn = mkd fsn = mkd
} else if err != nil { } else if err != nil {
return nil, err return err
} }
next, ok := fsn.(*Directory) next, ok := fsn.(*Directory)
if !ok { if !ok {
return nil, fmt.Errorf("%s was not a directory", path.Join(parts[:i])) return fmt.Errorf("%s was not a directory", path.Join(parts[:i]))
} }
cur = next cur = next
} }
...@@ -145,18 +145,18 @@ func Mkdir(r *Root, pth string, mkparents bool, flush bool) (*Directory, error) ...@@ -145,18 +145,18 @@ func Mkdir(r *Root, pth string, mkparents bool, flush bool) (*Directory, error)
final, err := cur.Mkdir(parts[len(parts)-1]) final, err := cur.Mkdir(parts[len(parts)-1])
if err != nil { if err != nil {
if !mkparents || err != os.ErrExist || final == nil { if !mkparents || err != os.ErrExist || final == nil {
return nil, err return err
} }
} }
if flush { if flush {
err := final.Flush() err := final.Flush()
if err != nil { if err != nil {
return nil, err return err
} }
} }
return final, nil return nil
} }
func Lookup(r *Root, path string) (FSNode, error) { func Lookup(r *Root, path string) (FSNode, error) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论