Skip to content

Commit 7666eea

Browse files
committed
Use the same codes in ListRes and CorruptReferenceError.
License: MIT Signed-off-by: Kevin Atkinson <[email protected]>
1 parent 6fa16f4 commit 7666eea

File tree

2 files changed

+8
-26
lines changed

2 files changed

+8
-26
lines changed

filestore/fsrefstore.go

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,8 @@ type FileManager struct {
2727
root string
2828
}
2929

30-
type CorruptReferenceCode int
31-
32-
const (
33-
OtherErr CorruptReferenceCode = 0
34-
FileError CorruptReferenceCode = 1
35-
FileMissing CorruptReferenceCode = 2
36-
FileChanged CorruptReferenceCode = 3
37-
)
38-
3930
type CorruptReferenceError struct {
40-
Code CorruptReferenceCode
31+
Code Status
4132
Err error
4233
}
4334

@@ -138,23 +129,23 @@ func (f *FileManager) readDataObj(c *cid.Cid, d *pb.DataObj) ([]byte, error) {
138129

139130
fi, err := os.Open(abspath)
140131
if os.IsNotExist(err) {
141-
return nil, &CorruptReferenceError{FileMissing, err}
132+
return nil, &CorruptReferenceError{StatusFileNotFound, err}
142133
} else if err != nil {
143-
return nil, &CorruptReferenceError{FileError, err}
134+
return nil, &CorruptReferenceError{StatusFileError, err}
144135
}
145136
defer fi.Close()
146137

147138
_, err = fi.Seek(int64(d.GetOffset()), os.SEEK_SET)
148139
if err != nil {
149-
return nil, &CorruptReferenceError{FileError, err}
140+
return nil, &CorruptReferenceError{StatusFileError, err}
150141
}
151142

152143
outbuf := make([]byte, d.GetSize_())
153144
_, err = io.ReadFull(fi, outbuf)
154145
if err == io.EOF || err == io.ErrUnexpectedEOF {
155-
return nil, &CorruptReferenceError{FileChanged, err}
146+
return nil, &CorruptReferenceError{StatusFileChanged, err}
156147
} else if err != nil {
157-
return nil, &CorruptReferenceError{FileError, err}
148+
return nil, &CorruptReferenceError{StatusFileError, err}
158149
}
159150

160151
outcid, err := c.Prefix().Sum(outbuf)
@@ -163,7 +154,7 @@ func (f *FileManager) readDataObj(c *cid.Cid, d *pb.DataObj) ([]byte, error) {
163154
}
164155

165156
if !c.Equals(outcid) {
166-
return nil, &CorruptReferenceError{FileChanged,
157+
return nil, &CorruptReferenceError{StatusFileChanged,
167158
fmt.Errorf("data in file did not match. %s offset %d", d.GetFilePath(), d.GetOffset())}
168159
}
169160

filestore/util.go

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,16 +150,7 @@ func mkListRes(c *cid.Cid, d *pb.DataObj, err error) *ListRes {
150150
if err == ds.ErrNotFound || err == blockstore.ErrNotFound {
151151
status = StatusKeyNotFound
152152
} else if err, ok := err.(*CorruptReferenceError); ok {
153-
switch err.Code {
154-
case FileError:
155-
status = StatusFileError
156-
case FileMissing:
157-
status = StatusFileNotFound
158-
case FileChanged:
159-
status = StatusFileChanged
160-
default:
161-
status = StatusOtherError
162-
}
153+
status = err.Code
163154
} else {
164155
status = StatusOtherError
165156
}

0 commit comments

Comments
 (0)