mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-19 10:46:58 +08:00
fix(host): ensure a single file dir when mounting (#23896)
This commit is contained in:
@@ -134,9 +134,18 @@ func (p postOverlayHostPath) mountSingleFile(singleFilePath string, d diskPostOv
|
||||
return errors.Wrapf(err, "change file %s owner", singleFilePath)
|
||||
}
|
||||
if !fileutils.Exists(mergedDst) {
|
||||
if err := volume_mount.EnsureDir(filepath.Dir(mergedDst)); err != nil {
|
||||
return errors.Wrapf(err, "ensure dir %s", filepath.Dir(mergedDst))
|
||||
}
|
||||
if err := volume_mount.ChangeDirOwnerDirectly(filepath.Dir(mergedDst), ov.FsUser, ov.FsGroup); err != nil {
|
||||
return errors.Wrapf(err, "change dir %s owner", filepath.Dir(mergedDst))
|
||||
}
|
||||
if err := volume_mount.TouchFile(mergedDst); err != nil {
|
||||
return errors.Wrapf(err, "touch file %s", mergedDst)
|
||||
}
|
||||
if err := volume_mount.ChangeDirOwnerDirectly(mergedDst, ov.FsUser, ov.FsGroup); err != nil {
|
||||
return errors.Wrapf(err, "change file %s owner", mergedDst)
|
||||
}
|
||||
}
|
||||
if err := mountutils.MountBind(singleFileMergedFilePath, mergedDst); err != nil {
|
||||
return errors.Wrapf(err, "bind mount %s to %s", singleFileMergedFilePath, mergedDst)
|
||||
|
||||
Reference in New Issue
Block a user