public static Nfs3FileAttributes GetNfs3FileAttrFromFileStatus(HdfsFileStatus fs, IdMappingServiceProvider iug) { NfsFileType fileType = fs.IsDir() ? NfsFileType.Nfsdir : NfsFileType.Nfsreg; fileType = fs.IsSymlink() ? NfsFileType.Nfslnk : fileType; int nlink = (fileType == NfsFileType.Nfsdir) ? fs.GetChildrenNum() + 2 : 1; long size = (fileType == NfsFileType.Nfsdir) ? GetDirSize(fs.GetChildrenNum()) : fs.GetLen(); return(new Nfs3FileAttributes(fileType, nlink, fs.GetPermission().ToShort(), iug. GetUidAllowingUnknown(fs.GetOwner()), iug.GetGidAllowingUnknown(fs.GetGroup()), size, 0, fs.GetFileId(), fs.GetModificationTime(), fs.GetAccessTime(), new Nfs3FileAttributes.Specdata3 ())); }
public Nfs3FileAttributes(NfsFileType nfsType, int nlink, short mode, int uid, int gid, long size, long fsid, long fileId, long mtime, long atime, Nfs3FileAttributes.Specdata3 rdev) { this.type = nfsType.ToValue(); this.mode = mode; this.nlink = nlink; this.uid = uid; this.gid = gid; this.size = size; this.used = this.size; this.rdev = new Nfs3FileAttributes.Specdata3(); this.fsid = fsid; this.fileId = fileId; this.mtime = new NfsTime(mtime); this.atime = atime != 0 ? new NfsTime(atime) : this.mtime; this.ctime = this.mtime; this.rdev = rdev; }