func fillEntryOut(out *raw.EntryOut, i *maggiefs.Inode) { // fill out out.NodeId = i.Inodeid out.Generation = i.Generation out.EntryValid = uint64(0) out.AttrValid = uint64(0) out.EntryValidNsec = uint32(100) out.AttrValidNsec = uint32(100) //Inode out.Ino = i.Inodeid out.Size = i.Length out.Blocks = numBlocks(i.Length, maggiefs.PAGESIZE) out.Atime = uint64(0) // always 0 for atime out.Mtime = uint64(i.Mtime) // Mtime is user modifiable and is the last time data changed out.Ctime = uint64(i.Ctime) // Ctime is tracked by the FS and changes when attrs or data change out.Atimensec = uint32(0) out.Mtimensec = uint32(0) out.Ctimensec = uint32(0) out.Mode = i.FullMode() out.Nlink = i.Nlink out.Uid = i.Uid out.Gid = i.Gid out.Rdev = uint32(0) // regular file, not block dvice out.Blksize = maggiefs.PAGESIZE }
func fillAttrOut(out *raw.AttrOut, i *maggiefs.Inode) { // raw.Attr out.Ino = i.Inodeid out.Size = i.Length out.Blocks = numBlocks(i.Length, maggiefs.PAGESIZE) out.Atime = uint64(0) // always 0 for atime out.Mtime = uint64(i.Mtime) // Mtime is user modifiable and is the last time data changed out.Ctime = uint64(i.Ctime) // Ctime is tracked by the FS and changes when attrs or data change out.Atimensec = uint32(0) out.Mtimensec = uint32(0) out.Ctimensec = uint32(0) out.Mode = i.FullMode() out.Nlink = i.Nlink out.Uid = i.Uid out.Gid = i.Gid out.Rdev = uint32(0) // regular file, not block dvice out.Blksize = maggiefs.PAGESIZE // raw.AttrOut out.AttrValid = uint64(0) out.AttrValidNsec = uint32(100) fmt.Printf("Filled attrOut %v with inode %v\n", out, i) }