return
}
-func (me *backend) Open(path string) (ret dataBackend.File, err error) {
- ret, err = me.c.OpenFile(path, os.O_RDWR|os.O_CREATE)
+func (me *backend) Open(path string, flag int) (ret dataBackend.File, err error) {
+ ret, err = me.c.OpenFile(path, flag)
return
}
return
}
-func (me *backend) Open(path string) (ret dataBackend.File, err error) {
- ret = httpfile.Open(me.urlStr(path))
+func (me *backend) Open(path string, flag int) (ret dataBackend.File, err error) {
+ ret = httpfile.Open(me.urlStr(path), flag)
err = fixErrNotFound(err)
return
}
// All functions must return ErrNotFound as required.
type I interface {
GetLength(path string) (int64, error)
- Open(path string) (File, error)
+ Open(path string, flags int) (File, error)
OpenSection(path string, off, n int64) (io.ReadCloser, error)
Delete(path string) error
}
io.Closer
io.Seeker
io.Writer
+ io.Reader
}
defer func() {
<-me.requestPool
}()
- f, err := me.db.Open(me.incompletePiecePath(p))
+ f, err := me.db.Open(me.incompletePiecePath(p), os.O_WRONLY|os.O_CREATE)
if err != nil {
return
}
defer src.Close()
hasher := sha1.New()
tee := io.TeeReader(src, hasher)
- dest, err := me.db.Open(to)
+ dest, err := me.db.Open(to, os.O_WRONLY|os.O_CREATE)
if err != nil {
return
}