Updated mount_sample.

geesefs-0-30-9
Aaron Jacobs 2015-03-24 16:17:56 +11:00
parent 9a704e1cd1
commit 79ec56b9fa
1 changed files with 6 additions and 11 deletions

View File

@ -39,7 +39,7 @@ var fFsyncsFile = flag.Uint64("flushfs.fsyncs_file", 0, "")
var fFlushError = flag.Int("flushfs.flush_error", 0, "") var fFlushError = flag.Int("flushfs.flush_error", 0, "")
var fFsyncError = flag.Int("flushfs.fsync_error", 0, "") var fFsyncError = flag.Int("flushfs.fsync_error", 0, "")
func makeFlushFS() (fs fuse.FileSystem, err error) { func makeFlushFS() (server fuse.Server, err error) {
// Check the flags. // Check the flags.
if *fFlushesFile == 0 || *fFsyncsFile == 0 { if *fFlushesFile == 0 || *fFsyncsFile == 0 {
err = fmt.Errorf("You must set the flushfs flags.") err = fmt.Errorf("You must set the flushfs flags.")
@ -83,18 +83,18 @@ func makeFlushFS() (fs fuse.FileSystem, err error) {
reportFsync := report(fsyncs, fsyncErr) reportFsync := report(fsyncs, fsyncErr)
// Create the file system. // Create the file system.
fs, err = flushfs.NewFileSystem(reportFlush, reportFsync) server, err = flushfs.NewFileSystem(reportFlush, reportFsync)
return return
} }
func makeFS() (fs fuse.FileSystem, err error) { func makeFS() (server fuse.Server, err error) {
switch *fType { switch *fType {
default: default:
err = fmt.Errorf("Unknown FS type: %v", *fType) err = fmt.Errorf("Unknown FS type: %v", *fType)
case "flushfs": case "flushfs":
fs, err = makeFlushFS() server, err = makeFlushFS()
} }
return return
@ -124,7 +124,7 @@ func main() {
} }
// Create an appropriate file system. // Create an appropriate file system.
fs, err := makeFS() server, err := makeFS()
if err != nil { if err != nil {
log.Fatalf("makeFS: %v", err) log.Fatalf("makeFS: %v", err)
} }
@ -134,16 +134,11 @@ func main() {
log.Fatalf("You must set --mount_point.") log.Fatalf("You must set --mount_point.")
} }
mfs, err := fuse.Mount(*fMountPoint, fs, &fuse.MountConfig{}) mfs, err := fuse.Mount(*fMountPoint, server, &fuse.MountConfig{})
if err != nil { if err != nil {
log.Fatalf("Mount: %v", err) log.Fatalf("Mount: %v", err)
} }
// Wait for it to be ready.
if err = mfs.WaitForReady(context.Background()); err != nil {
log.Fatalf("WaitForReady: %v", err)
}
// Signal that it is ready. // Signal that it is ready.
_, err = readyFile.Write([]byte("x")) _, err = readyFile.Write([]byte("x"))
if err != nil { if err != nil {