sentry: mark S/R stating errors as save rejections / fs corruptions.

PiperOrigin-RevId: 209817767
Change-Id: Iddf2b8441bc44f31f9a8cf6f2bd8e7a5b824b487
This commit is contained in:
Zhaozhong Ni
2018-08-22 13:19:16 -07:00
committed by Shentubot
parent 545ea7ab3f
commit 6b9133ba96
2 changed files with 5 additions and 5 deletions
+3 -3
View File
@@ -67,7 +67,7 @@ func (i *inodeFileState) beforeSave() {
if i.sattr.Type == fs.RegularFile {
uattr, err := i.unstableAttr(&dummyClockContext{context.Background()})
if err != nil {
panic(fmt.Sprintf("failed to get unstable atttribute of %s: %v", i.s.inodeMappings[i.sattr.InodeID], err))
panic(fs.ErrSaveRejection{fmt.Errorf("failed to get unstable atttribute of %s: %v", i.s.inodeMappings[i.sattr.InodeID], err)})
}
i.savedUAttr = &uattr
}
@@ -128,7 +128,7 @@ func (i *inodeFileState) afterLoad() {
_, i.file, err = i.s.attach.walk(ctx, splitAbsolutePath(name))
if err != nil {
return fmt.Errorf("failed to walk to %q: %v", name, err)
return fs.ErrCorruption{fmt.Errorf("failed to walk to %q: %v", name, err)}
}
// Remap the saved inode number into the gofer device using the
@@ -136,7 +136,7 @@ func (i *inodeFileState) afterLoad() {
// environment.
qid, mask, attrs, err := i.file.getAttr(ctx, p9.AttrMaskAll())
if err != nil {
return fmt.Errorf("failed to get file attributes of %s: %v", name, err)
return fs.ErrCorruption{fmt.Errorf("failed to get file attributes of %s: %v", name, err)}
}
if !mask.RDev {
return fs.ErrCorruption{fmt.Errorf("file %s lacks device", name)}
+2 -2
View File
@@ -31,7 +31,7 @@ func (i *inodeFileState) beforeSave() {
if !i.descriptor.donated && i.sattr.Type == fs.RegularFile {
uattr, err := i.unstableAttr(context.Background())
if err != nil {
panic(fmt.Sprintf("failed to get unstable atttribute of %s: %v", i.mops.inodeMappings[i.sattr.InodeID], err))
panic(fs.ErrSaveRejection{fmt.Errorf("failed to get unstable atttribute of %s: %v", i.mops.inodeMappings[i.sattr.InodeID], err)})
}
i.savedUAttr = &uattr
}
@@ -47,7 +47,7 @@ func (i *inodeFileState) afterLoad() {
// Remap the inode number.
var s syscall.Stat_t
if err := syscall.Fstat(i.FD(), &s); err != nil {
panic(fmt.Sprintf("failed to get metadata for fd %d: %v", i.FD(), err))
panic(fs.ErrCorruption{fmt.Errorf("failed to get metadata for fd %d: %v", i.FD(), err)})
}
key := device.MultiDeviceKey{
Device: s.Dev,