diff --git a/fs-objects.go b/fs-objects.go index 77369d170..1737018a6 100644 --- a/fs-objects.go +++ b/fs-objects.go @@ -52,8 +52,9 @@ func newFSObjects(exportPath string) (ObjectLayer, error) { } } - // Cleanup all temp entries upon start. - cleanupAllTmpEntries(storage) + // Initialize object layer - like creating minioMetaBucket, + // cleaning up tmp files etc. + initObjectLayer(storage) // Return successfully initialized object layer. return fsObjects{ diff --git a/object-common.go b/object-common.go index 278eb2211..0fdddbbd5 100644 --- a/object-common.go +++ b/object-common.go @@ -24,6 +24,24 @@ import ( "sort" ) +// Common initialization needed for both object layers. +func initObjectLayer(storage StorageAPI) error { + // This happens for the first time, but keep this here since this + // is the only place where it can be made expensive optimizing all + // other calls. Create minio meta volume, if it doesn't exist yet. + if err := storage.MakeVol(minioMetaBucket); err != nil { + if err != errVolumeExists { + return toObjectErr(err, minioMetaBucket) + } + } + // Cleanup all temp entries upon start. + err := cleanupAllTmpEntries(storage) + if err != nil { + return toObjectErr(err, minioMetaBucket, tmpMetaPrefix) + } + return nil +} + /// Common object layer functions. // makeBucket - create a bucket, is a common function for both object layers. @@ -35,15 +53,6 @@ func makeBucket(storage StorageAPI, bucket string) error { if err := storage.MakeVol(bucket); err != nil { return toObjectErr(err, bucket) } - // This happens for the first time, but keep this here since this - // is the only place where it can be made expensive optimizing all - // other calls. - // Create minio meta volume, if it doesn't exist yet. - if err := storage.MakeVol(minioMetaBucket); err != nil { - if err != errVolumeExists { - return toObjectErr(err, minioMetaBucket) - } - } return nil } diff --git a/xl-objects.go b/xl-objects.go index f49fedd58..ce5cbe624 100644 --- a/xl-objects.go +++ b/xl-objects.go @@ -53,8 +53,9 @@ func newXLObjects(exportPaths ...string) (ObjectLayer, error) { return nil, err } - // Cleanup all temporary entries. - cleanupAllTmpEntries(storage) + // Initialize object layer - like creating minioMetaBucket, + // cleaning up tmp files etc. + initObjectLayer(storage) // Return successfully initialized object layer. return xlObjects{