Merge pull request #788 from krishnasrinivas/open-and-openfile

rename disk.OpenFile to Open which will do os.Open (which will be rea…
master
Harshavardhana 10 years ago
commit d9493909d8
  1. 4
      pkg/donut/bucket.go
  2. 19
      pkg/donut/disk/disk.go
  3. 8
      pkg/donut/disk/disk_test.go
  4. 2
      pkg/donut/donut-v1.go

@ -101,7 +101,7 @@ func (b bucket) getBucketMetadataReaders() (map[int]io.ReadCloser, error) {
}
var bucketMetaDataReader io.ReadCloser
for order, disk := range disks {
bucketMetaDataReader, err = disk.OpenFile(filepath.Join(b.donutName, bucketMetadataConfig))
bucketMetaDataReader, err = disk.Open(filepath.Join(b.donutName, bucketMetadataConfig))
if err != nil {
continue
}
@ -581,7 +581,7 @@ func (b bucket) getObjectReaders(objectName, objectMeta string) (map[int]io.Read
var objectSlice io.ReadCloser
bucketSlice := fmt.Sprintf("%s$%d$%d", b.name, nodeSlice, order)
objectPath := filepath.Join(b.donutName, bucketSlice, objectName, objectMeta)
objectSlice, err = disk.OpenFile(objectPath)
objectSlice, err = disk.Open(objectPath)
if err == nil {
readers[order] = objectSlice
}

@ -170,8 +170,8 @@ func (disk Disk) CreateFile(filename string) (*atomic.File, error) {
return f, nil
}
// OpenFile - read a file inside disk root path
func (disk Disk) OpenFile(filename string) (*os.File, error) {
// Open - read a file inside disk root path
func (disk Disk) Open(filename string) (*os.File, error) {
disk.lock.Lock()
defer disk.lock.Unlock()
@ -185,6 +185,21 @@ func (disk Disk) OpenFile(filename string) (*os.File, error) {
return dataFile, nil
}
// OpenFile - Use with caution
func (disk Disk) OpenFile(filename string, flags int, perm os.FileMode) (*os.File, error) {
disk.lock.Lock()
defer disk.lock.Unlock()
if filename == "" {
return nil, iodine.New(InvalidArgument{}, nil)
}
dataFile, err := os.OpenFile(filepath.Join(disk.path, filename), flags, perm)
if err != nil {
return nil, iodine.New(err, nil)
}
return dataFile, nil
}
// formatBytes - Convert bytes to human readable string. Like a 2 MB, 64.2 KB, 52 B
func formatBytes(i int64) (result string) {
switch {

@ -65,19 +65,19 @@ func (s *MyDiskSuite) TestDiskCreateFile(c *C) {
// close renames the file
f.Close()
// Openfile should be a success
_, err = s.disk.OpenFile("hello1")
// Open should be a success
_, err = s.disk.Open("hello1")
c.Assert(err, IsNil)
}
func (s *MyDiskSuite) TestDiskOpenFile(c *C) {
func (s *MyDiskSuite) TestDiskOpen(c *C) {
f1, err := s.disk.CreateFile("hello2")
c.Assert(err, IsNil)
c.Assert(f1.Name(), Not(Equals), filepath.Join(s.path, "hello2"))
// close renames the file
f1.Close()
f2, err := s.disk.OpenFile("hello2")
f2, err := s.disk.Open("hello2")
c.Assert(err, IsNil)
c.Assert(f2.Name(), Equals, filepath.Join(s.path, "hello2"))
defer f2.Close()

@ -576,7 +576,7 @@ func (donut API) getBucketMetadataReaders() (map[int]io.ReadCloser, error) {
}
var bucketMetaDataReader io.ReadCloser
for order, disk := range disks {
bucketMetaDataReader, err = disk.OpenFile(filepath.Join(donut.config.DonutName, bucketMetadataConfig))
bucketMetaDataReader, err = disk.Open(filepath.Join(donut.config.DonutName, bucketMetadataConfig))
if err != nil {
continue
}

Loading…
Cancel
Save