mode os.FileMode
size int64
modTime time.Time
- // Source data structure: *Collection, *Group, or
- // nil. Currently populated only for project dirs and
- // top-level collection dirs; *not* populated for
- // /by_id/{uuid} dirs (only subdirs below that). Does not stay
- // up to date with upstream changes.
+ // If not nil, sys() returns the source data structure, which
+ // can be a *Collection, *Group, or nil. Currently populated
+ // only for project dirs and top-level collection dirs. Does
+ // not stay up to date with upstream changes.
//
// Intended to support keep-web's properties-as-s3-metadata
// feature (https://dev.arvados.org/issues/19088).
- sys interface{}
+ sys func() interface{}
}
// Name implements os.FileInfo.
// Sys implements os.FileInfo. See comment in fileinfo struct.
func (fi fileinfo) Sys() interface{} {
- return fi.sys
+ if fi.sys == nil {
+ return nil
+ }
+ return fi.sys()
}
type nullnode struct{}