func Link(oldDir, oldName, newDir, newName string) bool {
	return Fs.Link(oldDir, oldName, newDir, newName)
}
Link calls Link on the global Filesys
package filesys
import (
	"flag"
)
var rootDirectory string
func init() {
	flag.StringVar(&rootDirectory, "filesys.root", "simple.db",
		"directory to store database in")
}
type File int
func (f File) fd() int {
	return int(f)
}
type Filesys interface {
	Create(dir, fname string) (f File, ok bool)
	Append(f File, data []byte)
	Close(f File)
	Open(dir, fname string) File
	ReadAt(f File, offset uint64, length uint64) []byte
	Delete(dir, fname string)
	AtomicCreate(dir, fname string, data []byte)
	Link(oldDir, oldName, newDir, newName string) bool
	List(dir string) []string
	Mkdir(dir string)
}
var Fs Filesys
func Create(dir, fname string) (File, bool) {
	return Fs.Create(dir, fname)
}
func Append(f File, data []byte) {
	Fs.Append(f, data)
}
func Close(f File) {
	Fs.Close(f)
}
func Open(dir, fname string) File {
	return Fs.Open(dir, fname)
}
func ReadAt(f File, offset uint64, length uint64) []byte {
	return Fs.ReadAt(f, offset, length)
}
func Delete(dir, fname string) {
	Fs.Delete(dir, fname)
}
func AtomicCreate(dir, fname string, data []byte) {
	Fs.AtomicCreate(dir, fname, data)
}