Skip to content

Prepared empty snapshot being removed #2941

@ostenbom

Description

@ostenbom

Disappearing Empty Snapshot

On preparing an empty snapshot, its directory is removed after 30-100ms.

Steps to reproduce the issue:
Using overlayfs snapshotter

tmpDir, err := ioutil.TempDir("", "snapshotmanager")             
if err != nil {                                                  
  return err                                                     
}                                                                                 
                                                                 
// Start an empty base layer                                     
emptyBaseKey := "emptybase"                                      
mounts, err := m.snapshotter.Prepare(m.ctx, emptyBaseKey, "")    
if err != nil {                                                  
  return err                                                     
}                                                                
defer m.snapshotter.Remove(m.ctx, emptyBaseKey)                  
                                                                                                    
i := 1                                                           
for {                                                            
  fmt.Println(i)                                                 
  s, _ := os.Open(mounts[0].Source)                              
  st, _ := s.Stat()                                              
  if st == nil {                                                 
    break                                                        
  }                                                              
  fmt.Printf("%+v\n", st)                                        
  time.Sleep(time.Millisecond * 10)                              
  i++                                                            
} 

// mount.All(), unpackLayer(), snapshotter.Commit()

Describe the results you received:
Directory becomes nil after 30-100ms

Describe the results you expected:
Directory should stay around for me to unpack layers until I commit the snapshot?

Output of containerd --version:

containerd github.com/containerd/containerd v1.2.0 c4446665cb9c30056f4998ed953e6d4ff22c7c39

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions