fixed open file leak
This commit is contained in:
parent
960511586f
commit
9af837a17c
1 changed files with 3 additions and 0 deletions
|
|
@ -84,6 +84,7 @@ func (fs *FS) StatWithOffline(name string) (fi stdfs.FileInfo, offline bool, err
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fi, err = f.Stat()
|
fi, err = f.Stat()
|
||||||
|
f.Close()
|
||||||
offline = f.offline
|
offline = f.offline
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -131,11 +132,13 @@ func (fs *FS) open(name string, stat bool) (f *File, err error) {
|
||||||
}
|
}
|
||||||
sfi, err := sf.Stat()
|
sfi, err := sf.Stat()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
sf.Close()
|
||||||
log.Error(err, "error stat source file")
|
log.Error(err, "error stat source file")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if sfi.IsDir() || stat {
|
if sfi.IsDir() || stat {
|
||||||
if empty, err := dirEmpty(sf.Name()); empty && err == nil {
|
if empty, err := dirEmpty(sf.Name()); empty && err == nil {
|
||||||
|
sf.Close()
|
||||||
sf, err = os.Open(dp)
|
sf, err = os.Open(dp)
|
||||||
offline = true
|
offline = true
|
||||||
log.V(2).Info("dir offline mode", "path", dp)
|
log.V(2).Info("dir offline mode", "path", dp)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue