// Attr returns the attributes of a given node. func (s *Node) Attr(ctx context.Context, a *fuse.Attr) error { log.Debug("Node attr") if s.cached == nil { if err := s.loadData(); err != nil { return fmt.Errorf("readonly: loadData() failed: %s", err) } } switch s.cached.GetType() { case ftpb.Data_Directory: a.Mode = os.ModeDir | 0555 a.Uid = uint32(os.Getuid()) a.Gid = uint32(os.Getgid()) case ftpb.Data_File: size := s.cached.GetFilesize() a.Mode = 0444 a.Size = uint64(size) a.Blocks = uint64(len(s.Nd.Links)) a.Uid = uint32(os.Getuid()) a.Gid = uint32(os.Getgid()) case ftpb.Data_Raw: a.Mode = 0444 a.Size = uint64(len(s.cached.GetData())) a.Blocks = uint64(len(s.Nd.Links)) a.Uid = uint32(os.Getuid()) a.Gid = uint32(os.Getgid()) case ftpb.Data_Symlink: a.Mode = 0777 | os.ModeSymlink a.Size = uint64(len(s.cached.GetData())) a.Uid = uint32(os.Getuid()) a.Gid = uint32(os.Getgid()) default: return fmt.Errorf("Invalid data type - %s", s.cached.GetType()) } return nil }
// Attr returns the attributes of a given node. func (d *Directory) Attr(ctx context.Context, a *fuse.Attr) error { log.Debug("Directory Attr") a.Mode = os.ModeDir | 0555 a.Uid = uint32(os.Getuid()) a.Gid = uint32(os.Getgid()) return nil }
func (f *inMemoryFile) Attr(ctx context.Context, a *fuse.Attr) error { f.mu.Lock() defer f.mu.Unlock() a.Mode = 0666 a.Size = uint64(len(f.data)) return nil }
// Attr returns the attributes of a given node. func (fi *FileNode) Attr(ctx context.Context, a *fuse.Attr) error { log.Debug("File Attr") size, err := fi.fi.Size() if err != nil { // In this case, the dag node in question may not be unixfs return fmt.Errorf("fuse/ipns: failed to get file.Size(): %s", err) } a.Mode = os.FileMode(0666) a.Size = uint64(size) a.Uid = uint32(os.Getuid()) a.Gid = uint32(os.Getgid()) return nil }
func (f unwritableFile) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = 0000 return nil }
func (t *tree) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = os.ModeDir | 0555 return nil }
func (f ChildMap) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = os.ModeDir | 0777 return nil }
func (f File) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = 0666 return nil }
func (benchDir) Attr(ctx context.Context, a *fuse.Attr) error { a.Inode = 1 a.Mode = os.ModeDir | 0555 return nil }
func (dataHandleTest) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = 0666 a.Size = uint64(len(hi)) return nil }
func (f fifo) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = os.ModeNamedPipe | 0666 return nil }
func (f symlink) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = os.ModeSymlink | 0666 return nil }
func (readWithHandleRead) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = 0666 a.Size = uint64(len(hi)) return nil }
func (f testStatFS) Attr(ctx context.Context, a *fuse.Attr) error { a.Inode = 1 a.Mode = os.ModeDir | 0777 return nil }
func (l *Link) Attr(ctx context.Context, a *fuse.Attr) error { log.Debug("Link attr.") a.Mode = os.ModeSymlink | 0555 return nil }
func (interrupt) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = 0666 a.Size = 1 return nil }
func (File) Attr(ctx context.Context, a *fuse.Attr) error { a.Inode = 2 a.Mode = 0444 a.Size = uint64(len(greeting)) return nil }
// Attr returns file attributes. func (*Root) Attr(ctx context.Context, a *fuse.Attr) error { a.Mode = os.ModeDir | 0111 // -rw+x return nil }
func (benchFile) Attr(ctx context.Context, a *fuse.Attr) error { a.Inode = 2 a.Mode = 0644 a.Size = 9999999999999999 return nil }
// Attr returns file attributes. func (*Root) Attr(ctx context.Context, a *fuse.Attr) error { log.Debug("Root Attr") a.Mode = os.ModeDir | 0111 // -rw+x return nil }