Commit 800e5338 authored by Han-Wen Nienhuys's avatar Han-Wen Nienhuys

os.Open API changes.

parent bc5d4287
...@@ -19,7 +19,7 @@ func main() { ...@@ -19,7 +19,7 @@ func main() {
flag.Parse() flag.Parse()
filename := flag.Args()[0] filename := flag.Args()[0]
f, err := os.Open(filename, os.O_RDONLY, 0) f, err := os.Open(filename)
if err != nil { if err != nil {
panic("err" + err.String()) panic("err" + err.String())
} }
......
...@@ -47,7 +47,7 @@ func (me *LoopbackFileSystem) GetAttr(name string) (*Attr, Status) { ...@@ -47,7 +47,7 @@ func (me *LoopbackFileSystem) GetAttr(name string) (*Attr, Status) {
func (me *LoopbackFileSystem) OpenDir(name string) (stream chan DirEntry, status Status) { func (me *LoopbackFileSystem) OpenDir(name string) (stream chan DirEntry, status Status) {
// What other ways beyond O_RDONLY are there to open // What other ways beyond O_RDONLY are there to open
// directories? // directories?
f, err := os.Open(me.GetPath(name), os.O_RDONLY, 0) f, err := os.Open(me.GetPath(name))
if err != nil { if err != nil {
return nil, OsErrorToFuseError(err) return nil, OsErrorToFuseError(err)
} }
...@@ -78,7 +78,7 @@ func (me *LoopbackFileSystem) OpenDir(name string) (stream chan DirEntry, status ...@@ -78,7 +78,7 @@ func (me *LoopbackFileSystem) OpenDir(name string) (stream chan DirEntry, status
} }
func (me *LoopbackFileSystem) Open(name string, flags uint32) (fuseFile RawFuseFile, status Status) { func (me *LoopbackFileSystem) Open(name string, flags uint32) (fuseFile RawFuseFile, status Status) {
f, err := os.Open(me.GetPath(name), int(flags), 0) f, err := os.OpenFile(me.GetPath(name), int(flags), 0)
if err != nil { if err != nil {
return nil, OsErrorToFuseError(err) return nil, OsErrorToFuseError(err)
} }
...@@ -142,7 +142,7 @@ func (me *LoopbackFileSystem) Access(name string, mode uint32) (code Status) { ...@@ -142,7 +142,7 @@ func (me *LoopbackFileSystem) Access(name string, mode uint32) (code Status) {
} }
func (me *LoopbackFileSystem) Create(path string, flags uint32, mode uint32) (fuseFile RawFuseFile, code Status) { func (me *LoopbackFileSystem) Create(path string, flags uint32, mode uint32) (fuseFile RawFuseFile, code Status) {
f, err := os.Open(me.GetPath(path), int(flags)|os.O_CREAT, mode) f, err := os.OpenFile(me.GetPath(path), int(flags)|os.O_CREATE, mode)
return &LoopbackFile{file: f}, OsErrorToFuseError(err) return &LoopbackFile{file: f}, OsErrorToFuseError(err)
} }
......
...@@ -98,7 +98,7 @@ func (me *testCase) removeMountFile() { ...@@ -98,7 +98,7 @@ func (me *testCase) removeMountFile() {
} }
func (me *testCase) writeOrigFile() { func (me *testCase) writeOrigFile() {
f, err := os.Open(me.origFile, os.O_WRONLY|os.O_CREAT, 0700) f, err := os.OpenFile(me.origFile, os.O_WRONLY|os.O_CREATE, 0700)
CheckSuccess(err) CheckSuccess(err)
_, err = f.Write([]byte(contents)) _, err = f.Write([]byte(contents))
CheckSuccess(err) CheckSuccess(err)
...@@ -109,7 +109,7 @@ func (me *testCase) writeOrigFile() { ...@@ -109,7 +109,7 @@ func (me *testCase) writeOrigFile() {
// Tests. // Tests.
func (me *testCase) testOpenUnreadable() { func (me *testCase) testOpenUnreadable() {
_, err := os.Open(filepath.Join(me.mountPoint, "doesnotexist"), os.O_RDONLY, 0) _, err := os.Open(filepath.Join(me.mountPoint, "doesnotexist"))
if err == nil { if err == nil {
me.tester.Errorf("open non-existent should raise error") me.tester.Errorf("open non-existent should raise error")
} }
...@@ -131,7 +131,7 @@ func (me *testCase) testReadThroughFuse() { ...@@ -131,7 +131,7 @@ func (me *testCase) testReadThroughFuse() {
// Open (for read), read. // Open (for read), read.
fmt.Println("Testing open.") fmt.Println("Testing open.")
f, err := os.Open(me.mountFile, os.O_RDONLY, 0) f, err := os.Open(me.mountFile)
CheckSuccess(err) CheckSuccess(err)
fmt.Println("Testing read.") fmt.Println("Testing read.")
...@@ -163,7 +163,7 @@ func (me *testCase) testRemove() { ...@@ -163,7 +163,7 @@ func (me *testCase) testRemove() {
func (me *testCase) testWriteThroughFuse() { func (me *testCase) testWriteThroughFuse() {
// Create (for write), write. // Create (for write), write.
me.tester.Log("Testing create.") me.tester.Log("Testing create.")
f, err := os.Open(me.mountFile, os.O_WRONLY|os.O_CREATE, 0644) f, err := os.OpenFile(me.mountFile, os.O_WRONLY|os.O_CREATE, 0644)
CheckSuccess(err) CheckSuccess(err)
me.tester.Log("Testing write.") me.tester.Log("Testing write.")
...@@ -178,7 +178,7 @@ func (me *testCase) testWriteThroughFuse() { ...@@ -178,7 +178,7 @@ func (me *testCase) testWriteThroughFuse() {
me.tester.Errorf("create mode error %o", fi.Mode&0777) me.tester.Errorf("create mode error %o", fi.Mode&0777)
} }
f, err = os.Open(me.origFile, os.O_RDONLY, 0) f, err = os.Open(me.origFile)
CheckSuccess(err) CheckSuccess(err)
var buf [1024]byte var buf [1024]byte
slice := buf[:] slice := buf[:]
...@@ -221,7 +221,7 @@ func (me *testCase) testLink() { ...@@ -221,7 +221,7 @@ func (me *testCase) testLink() {
me.tester.Errorf("Expect 2 links: %v", fi) me.tester.Errorf("Expect 2 links: %v", fi)
} }
f, err := os.Open(me.mountSubfile, os.O_RDONLY, 0) f, err := os.Open(me.mountSubfile)
var buf [1024]byte var buf [1024]byte
slice := buf[:] slice := buf[:]
...@@ -325,7 +325,7 @@ func (me *testCase) testReaddir() { ...@@ -325,7 +325,7 @@ func (me *testCase) testReaddir() {
me.writeOrigFile() me.writeOrigFile()
me.makeOrigSubdir() me.makeOrigSubdir()
dir, err := os.Open(me.mountPoint, os.O_RDONLY, 0) dir, err := os.Open(me.mountPoint)
CheckSuccess(err) CheckSuccess(err)
infos, err := dir.Readdir(10) infos, err := dir.Readdir(10)
CheckSuccess(err) CheckSuccess(err)
...@@ -355,7 +355,7 @@ func (me *testCase) testFSync() { ...@@ -355,7 +355,7 @@ func (me *testCase) testFSync() {
me.tester.Log("Testing fsync.") me.tester.Log("Testing fsync.")
me.writeOrigFile() me.writeOrigFile()
f, err := os.Open(me.mountFile, os.O_WRONLY, 0) f, err := os.OpenFile(me.mountFile, os.O_WRONLY, 0)
_, err = f.WriteString("hello there") _, err = f.WriteString("hello there")
CheckSuccess(err) CheckSuccess(err)
...@@ -370,7 +370,7 @@ func (me *testCase) testFSync() { ...@@ -370,7 +370,7 @@ func (me *testCase) testFSync() {
func (me *testCase) testLargeRead() { func (me *testCase) testLargeRead() {
me.tester.Log("Testing large read.") me.tester.Log("Testing large read.")
name := filepath.Join(me.origDir, "large") name := filepath.Join(me.origDir, "large")
f, err := os.Open(name, os.O_WRONLY|os.O_CREATE, 0777) f, err := os.OpenFile(name, os.O_WRONLY|os.O_CREATE, 0777)
CheckSuccess(err) CheckSuccess(err)
b := bytes.NewBuffer(nil) b := bytes.NewBuffer(nil)
...@@ -388,7 +388,7 @@ func (me *testCase) testLargeRead() { ...@@ -388,7 +388,7 @@ func (me *testCase) testLargeRead() {
CheckSuccess(err) CheckSuccess(err)
// Read in one go. // Read in one go.
g, err := os.Open(filepath.Join(me.mountPoint, "large"), os.O_RDONLY, 0) g, err := os.Open(filepath.Join(me.mountPoint, "large"))
CheckSuccess(err) CheckSuccess(err)
readSlice := make([]byte, len(slice)) readSlice := make([]byte, len(slice))
m, err := g.Read(readSlice) m, err := g.Read(readSlice)
...@@ -406,7 +406,7 @@ func (me *testCase) testLargeRead() { ...@@ -406,7 +406,7 @@ func (me *testCase) testLargeRead() {
g.Close() g.Close()
// Read in chunks // Read in chunks
g, err = os.Open(filepath.Join(me.mountPoint, "large"), os.O_RDONLY, 0) g, err = os.Open(filepath.Join(me.mountPoint, "large"))
CheckSuccess(err) CheckSuccess(err)
readSlice = make([]byte, 4096) readSlice = make([]byte, 4096)
total := 0 total := 0
...@@ -458,7 +458,7 @@ func (me *testCase) testLargeDirRead() { ...@@ -458,7 +458,7 @@ func (me *testCase) testLargeDirRead() {
nameSet[base] = true nameSet[base] = true
f, err := os.Open(name, os.O_WRONLY|os.O_CREATE, 0777) f, err := os.OpenFile(name, os.O_WRONLY|os.O_CREATE, 0777)
CheckSuccess(err) CheckSuccess(err)
f.WriteString("bla") f.WriteString("bla")
f.Close() f.Close()
...@@ -466,7 +466,7 @@ func (me *testCase) testLargeDirRead() { ...@@ -466,7 +466,7 @@ func (me *testCase) testLargeDirRead() {
names[i] = name names[i] = name
} }
dir, err := os.Open(filepath.Join(me.mountPoint, "readdirSubdir"), os.O_RDONLY, 0) dir, err := os.Open(filepath.Join(me.mountPoint, "readdirSubdir"))
CheckSuccess(err) CheckSuccess(err)
// Chunked read. // Chunked read.
total := 0 total := 0
...@@ -525,7 +525,7 @@ func TestRecursiveMount(t *testing.T) { ...@@ -525,7 +525,7 @@ func TestRecursiveMount(t *testing.T) {
ts := new(testCase) ts := new(testCase)
ts.Setup(t) ts.Setup(t)
f, err := os.Open(filepath.Join(ts.mountPoint, "hello.txt"), f, err := os.OpenFile(filepath.Join(ts.mountPoint, "hello.txt"),
os.O_WRONLY|os.O_CREATE, 0777) os.O_WRONLY|os.O_CREATE, 0777)
CheckSuccess(err) CheckSuccess(err)
...@@ -551,7 +551,7 @@ func TestRecursiveMount(t *testing.T) { ...@@ -551,7 +551,7 @@ func TestRecursiveMount(t *testing.T) {
_, err = os.Lstat(filepath.Join(submnt, "hello.txt")) _, err = os.Lstat(filepath.Join(submnt, "hello.txt"))
CheckSuccess(err) CheckSuccess(err)
f, err = os.Open(filepath.Join(submnt, "hello.txt"), os.O_RDONLY, 0) f, err = os.Open(filepath.Join(submnt, "hello.txt"))
CheckSuccess(err) CheckSuccess(err)
code = ts.connector.Unmount("/mnt") code = ts.connector.Unmount("/mnt")
if code != EBUSY { if code != EBUSY {
......
...@@ -213,7 +213,7 @@ func Writev(fd int, packet [][]byte) (n int, err os.Error) { ...@@ -213,7 +213,7 @@ func Writev(fd int, packet [][]byte) (n int, err os.Error) {
func CountCpus() int { func CountCpus() int {
var contents [10240]byte var contents [10240]byte
f, err := os.Open("/proc/stat", os.O_RDONLY, 0) f, err := os.Open("/proc/stat")
defer f.Close() defer f.Close()
if err != nil { if err != nil {
return 1 return 1
......
...@@ -356,7 +356,7 @@ func (me *PathFileSystemConnector) Unmount(path string) Status { ...@@ -356,7 +356,7 @@ func (me *PathFileSystemConnector) Unmount(path string) Status {
mount.mutex.Lock() mount.mutex.Lock()
defer mount.mutex.Unlock() defer mount.mutex.Unlock()
if mount.openCount > 0 { if mount.openCount > 0 {
log.Println("busy: ", mount) log.Println("Umount - busy: ", mount)
return EBUSY return EBUSY
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment