mirror of
https://github.com/minio/minio.git
synced 2025-11-22 18:47:43 -05:00
Support creating directories on erasure coded backend (#5443)
This PR continues from #5049 where we started supporting directories for erasure coded backend
This commit is contained in:
committed by
Nitish Tiwari
parent
45c35b3544
commit
3ea28e9771
21
cmd/posix.go
21
cmd/posix.go
@@ -280,18 +280,21 @@ func (s *posix) MakeVol(volume string) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// Make a volume entry, with mode 0777 mkdir honors system umask.
|
||||
err = os.Mkdir((volumeDir), 0777)
|
||||
if err != nil {
|
||||
if os.IsExist(err) {
|
||||
return errVolumeExists
|
||||
} else if os.IsPermission(err) {
|
||||
|
||||
if _, err := os.Stat(volumeDir); err != nil {
|
||||
// Volume does not exist we proceed to create.
|
||||
if os.IsNotExist(err) {
|
||||
// Make a volume entry, with mode 0777 mkdir honors system umask.
|
||||
err = os.MkdirAll(volumeDir, 0777)
|
||||
}
|
||||
if os.IsPermission(err) {
|
||||
return errDiskAccessDenied
|
||||
}
|
||||
return err
|
||||
}
|
||||
// Success
|
||||
return nil
|
||||
|
||||
// Stat succeeds we return errVolumeExists.
|
||||
return errVolumeExists
|
||||
}
|
||||
|
||||
// ListVols - list volumes.
|
||||
@@ -381,7 +384,7 @@ func (s *posix) StatVol(volume string) (volInfo VolInfo, err error) {
|
||||
}
|
||||
// Stat a volume entry.
|
||||
var st os.FileInfo
|
||||
st, err = os.Stat((volumeDir))
|
||||
st, err = os.Stat(volumeDir)
|
||||
if err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
return VolInfo{}, errVolumeNotFound
|
||||
|
||||
Reference in New Issue
Block a user