Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
1f2e174e
提交
1f2e174e
authored
2月 06, 2017
作者:
Kevin Atkinson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
filestore: use the same codes in ListRes and CorruptReferenceError.
License: MIT Signed-off-by:
Kevin Atkinson
<
k@kevina.org
>
上级
033c442d
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
8 行增加
和
26 行删除
+8
-26
fsrefstore.go
filestore/fsrefstore.go
+7
-16
util.go
filestore/util.go
+1
-10
没有找到文件。
filestore/fsrefstore.go
浏览文件 @
1f2e174e
...
...
@@ -27,17 +27,8 @@ type FileManager struct {
root
string
}
type
CorruptReferenceCode
int
const
(
OtherErr
CorruptReferenceCode
=
0
FileError
CorruptReferenceCode
=
1
FileMissing
CorruptReferenceCode
=
2
FileChanged
CorruptReferenceCode
=
3
)
type
CorruptReferenceError
struct
{
Code
CorruptReferenceCode
Code
Status
Err
error
}
...
...
@@ -138,23 +129,23 @@ func (f *FileManager) readDataObj(c *cid.Cid, d *pb.DataObj) ([]byte, error) {
fi
,
err
:=
os
.
Open
(
abspath
)
if
os
.
IsNotExist
(
err
)
{
return
nil
,
&
CorruptReferenceError
{
FileMissing
,
err
}
return
nil
,
&
CorruptReferenceError
{
StatusFileNotFound
,
err
}
}
else
if
err
!=
nil
{
return
nil
,
&
CorruptReferenceError
{
FileError
,
err
}
return
nil
,
&
CorruptReferenceError
{
Status
FileError
,
err
}
}
defer
fi
.
Close
()
_
,
err
=
fi
.
Seek
(
int64
(
d
.
GetOffset
()),
os
.
SEEK_SET
)
if
err
!=
nil
{
return
nil
,
&
CorruptReferenceError
{
FileError
,
err
}
return
nil
,
&
CorruptReferenceError
{
Status
FileError
,
err
}
}
outbuf
:=
make
([]
byte
,
d
.
GetSize_
())
_
,
err
=
io
.
ReadFull
(
fi
,
outbuf
)
if
err
==
io
.
EOF
||
err
==
io
.
ErrUnexpectedEOF
{
return
nil
,
&
CorruptReferenceError
{
FileChanged
,
err
}
return
nil
,
&
CorruptReferenceError
{
Status
FileChanged
,
err
}
}
else
if
err
!=
nil
{
return
nil
,
&
CorruptReferenceError
{
FileError
,
err
}
return
nil
,
&
CorruptReferenceError
{
Status
FileError
,
err
}
}
outcid
,
err
:=
c
.
Prefix
()
.
Sum
(
outbuf
)
...
...
@@ -163,7 +154,7 @@ func (f *FileManager) readDataObj(c *cid.Cid, d *pb.DataObj) ([]byte, error) {
}
if
!
c
.
Equals
(
outcid
)
{
return
nil
,
&
CorruptReferenceError
{
FileChanged
,
return
nil
,
&
CorruptReferenceError
{
Status
FileChanged
,
fmt
.
Errorf
(
"data in file did not match. %s offset %d"
,
d
.
GetFilePath
(),
d
.
GetOffset
())}
}
...
...
filestore/util.go
浏览文件 @
1f2e174e
...
...
@@ -144,16 +144,7 @@ func mkListRes(c *cid.Cid, d *pb.DataObj, err error) *ListRes {
if
err
==
ds
.
ErrNotFound
||
err
==
blockstore
.
ErrNotFound
{
status
=
StatusKeyNotFound
}
else
if
err
,
ok
:=
err
.
(
*
CorruptReferenceError
);
ok
{
switch
err
.
Code
{
case
FileError
:
status
=
StatusFileError
case
FileMissing
:
status
=
StatusFileNotFound
case
FileChanged
:
status
=
StatusFileChanged
default
:
status
=
StatusOtherError
}
status
=
err
.
Code
}
else
{
status
=
StatusOtherError
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论