Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

Commit

Permalink
Device manager: clear start of block device after volume creation
Browse files Browse the repository at this point in the history
Even though we clear data area after device deletion,
let's reduce chances even further that old data remains there
and becomes recognized as file system
  • Loading branch information
okartau committed Jan 17, 2019
1 parent 82f72a0 commit efd509a
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
9 changes: 9 additions & 0 deletions pkg/pmem-device-manager/pmd-lvm.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,15 @@ func (lvm *pmemLvm) CreateDevice(name string, size uint64, nsmode string) error
if _, err := pmemexec.RunCommand("lvcreate", "-L", strSz, "-n", name, vg.name); err != nil {
glog.Infof("lvcreate failed with error: %v, trying for next free region", err)
} else {
// clear start of device to avoid old data being recognized as file system
device, err := lvm.GetDevice(name)
if err != nil {
return err
}
err = clearDevice(device, false)
if err != nil {
return err
}
return nil
}
}
Expand Down
9 changes: 9 additions & 0 deletions pkg/pmem-device-manager/pmd-ndctl.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,15 @@ func (pmem *pmemNdctl) CreateDevice(name string, size uint64, nsmode string) err
}
data, _ := ns.MarshalJSON() //nolint: gosec
glog.Infof("Namespace created: %s", data)
// clear start of device to avoid old data being recognized as file system
device, err := pmem.GetDevice(name)
if err != nil {
return err
}
err = clearDevice(device, false)
if err != nil {
return err
}

return nil
}
Expand Down

0 comments on commit efd509a

Please sign in to comment.