Merge pull request #8489 from dcantah/readdirnames-fun
Change to Readdirnames for some cases
This commit is contained in:
commit
465c804d22
@ -295,10 +295,9 @@ func (s *store) ListStatuses(ctx context.Context, fs ...string) ([]content.Statu
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
defer fp.Close()
|
defer fp.Close()
|
||||||
|
|
||||||
fis, err := fp.Readdir(-1)
|
fis, err := fp.Readdirnames(-1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -310,7 +309,7 @@ func (s *store) ListStatuses(ctx context.Context, fs ...string) ([]content.Statu
|
|||||||
|
|
||||||
var active []content.Status
|
var active []content.Status
|
||||||
for _, fi := range fis {
|
for _, fi := range fis {
|
||||||
p := filepath.Join(s.root, "ingest", fi.Name())
|
p := filepath.Join(s.root, "ingest", fi)
|
||||||
stat, err := s.status(p)
|
stat, err := s.status(p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !os.IsNotExist(err) {
|
if !os.IsNotExist(err) {
|
||||||
@ -345,16 +344,15 @@ func (s *store) WalkStatusRefs(ctx context.Context, fn func(string) error) error
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
defer fp.Close()
|
defer fp.Close()
|
||||||
|
|
||||||
fis, err := fp.Readdir(-1)
|
fis, err := fp.Readdirnames(-1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, fi := range fis {
|
for _, fi := range fis {
|
||||||
rf := filepath.Join(s.root, "ingest", fi.Name(), "ref")
|
rf := filepath.Join(s.root, "ingest", fi, "ref")
|
||||||
|
|
||||||
ref, err := readFileString(rf)
|
ref, err := readFileString(rf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -121,7 +121,13 @@ func WithVolumes(volumeMounts map[string]string) containerd.NewContainerOpts {
|
|||||||
// copyExistingContents copies from the source to the destination and
|
// copyExistingContents copies from the source to the destination and
|
||||||
// ensures the ownership is appropriately set.
|
// ensures the ownership is appropriately set.
|
||||||
func copyExistingContents(source, destination string) error {
|
func copyExistingContents(source, destination string) error {
|
||||||
dstList, err := os.ReadDir(destination)
|
f, err := os.Open(destination)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer f.Close()
|
||||||
|
|
||||||
|
dstList, err := f.Readdirnames(-1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -83,12 +83,21 @@ func (m *ShimManager) loadShims(ctx context.Context) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// fast path
|
// fast path
|
||||||
bf, err := os.ReadDir(bundle.Path)
|
f, err := os.Open(bundle.Path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
bundle.Delete()
|
bundle.Delete()
|
||||||
log.G(ctx).WithError(err).Errorf("fast path read bundle path for %s", bundle.Path)
|
log.G(ctx).WithError(err).Errorf("fast path read bundle path for %s", bundle.Path)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bf, err := f.Readdirnames(-1)
|
||||||
|
if err != nil {
|
||||||
|
f.Close()
|
||||||
|
bundle.Delete()
|
||||||
|
log.G(ctx).WithError(err).Errorf("fast path read bundle path for %s", bundle.Path)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
f.Close()
|
||||||
if len(bf) == 0 {
|
if len(bf) == 0 {
|
||||||
bundle.Delete()
|
bundle.Delete()
|
||||||
continue
|
continue
|
||||||
@ -177,16 +186,24 @@ func (m *ShimManager) cleanupWorkDirs(ctx context.Context) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
dirs, err := os.ReadDir(filepath.Join(m.root, ns))
|
|
||||||
|
f, err := os.Open(filepath.Join(m.root, ns))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for _, d := range dirs {
|
defer f.Close()
|
||||||
|
|
||||||
|
dirs, err := f.Readdirnames(-1)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, dir := range dirs {
|
||||||
// if the task was not loaded, cleanup and empty working directory
|
// if the task was not loaded, cleanup and empty working directory
|
||||||
// this can happen on a reboot where /run for the bundle state is cleaned up
|
// this can happen on a reboot where /run for the bundle state is cleaned up
|
||||||
// but that persistent working dir is left
|
// but that persistent working dir is left
|
||||||
if _, err := m.shims.Get(ctx, d.Name()); err != nil {
|
if _, err := m.shims.Get(ctx, dir); err != nil {
|
||||||
path := filepath.Join(m.root, ns, d.Name())
|
path := filepath.Join(m.root, ns, dir)
|
||||||
if err := os.RemoveAll(path); err != nil {
|
if err := os.RemoveAll(path); err != nil {
|
||||||
log.G(ctx).WithError(err).Errorf("cleanup working dir %s", path)
|
log.G(ctx).WithError(err).Errorf("cleanup working dir %s", path)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user