]> Sergey Matveev's repositories - btrtrc.git/commitdiff
data/pieceStore: Expose flags in Open method
authorMatt Joiner <anacrolix@gmail.com>
Fri, 23 Oct 2015 01:45:11 +0000 (12:45 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Fri, 23 Oct 2015 01:45:11 +0000 (12:45 +1100)
data/pieceStore/dataBackend/fileCache/backend.go
data/pieceStore/dataBackend/http/backend.go
data/pieceStore/dataBackend/i.go
data/pieceStore/store.go

index 701ae4aade6651afde7d10965ac6b36a3411ecc7..fc0be32d94fcb41bc008da168673ec79bff704bc 100644 (file)
@@ -39,8 +39,8 @@ func (me *backend) GetLength(path string) (ret int64, err error) {
        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
 }
 
index 85fc784015cdf71c56396c71b0d996871158d28d..91acf3a5f22937873393d3c7607af7737567d897 100644 (file)
@@ -52,8 +52,8 @@ func (me *backend) GetLength(path string) (ret int64, err error) {
        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
 }
index 6b5beb9c0054d220acbd19bca5585903ca31c61b..106bea806fc3bcb68b0ff99ff8bb549e6e96674b 100644 (file)
@@ -8,7 +8,7 @@ import (
 // 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
 }
@@ -19,4 +19,5 @@ type File interface {
        io.Closer
        io.Seeker
        io.Writer
+       io.Reader
 }
index 3b1970fe61e92db620fa87598c6b77e3e227a1e1..c73cd7850166cecc3683fc9d991ae7da94995229 100644 (file)
@@ -141,7 +141,7 @@ func (me *store) pieceWriteAt(p metainfo.Piece, b []byte, off int64) (n int, err
        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
        }
@@ -264,7 +264,7 @@ func (me *store) hashCopyFile(from, to string, n int64) (hash []byte, err error)
        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
        }