Lines Matching refs:fattr

77 		    struct cifs_fattr *fattr)  in cifs_prime_dcache()  argument
101 fattr->cf_uniqueid = CIFS_I(inode)->uniqueid; in cifs_prime_dcache()
105 if (CIFS_I(inode)->uniqueid == fattr->cf_uniqueid && in cifs_prime_dcache()
107 (fattr->cf_mode & S_IFMT)) { in cifs_prime_dcache()
108 cifs_fattr_to_inode(inode, fattr); in cifs_prime_dcache()
121 if (fattr->cf_flags & CIFS_FATTR_NEED_REVAL) in cifs_prime_dcache()
128 inode = cifs_iget(sb, fattr); in cifs_prime_dcache()
140 cifs_fill_common_info(struct cifs_fattr *fattr, struct cifs_sb_info *cifs_sb) in cifs_fill_common_info() argument
142 fattr->cf_uid = cifs_sb->mnt_uid; in cifs_fill_common_info()
143 fattr->cf_gid = cifs_sb->mnt_gid; in cifs_fill_common_info()
145 if (fattr->cf_cifsattrs & ATTR_DIRECTORY) { in cifs_fill_common_info()
146 fattr->cf_mode = S_IFDIR | cifs_sb->mnt_dir_mode; in cifs_fill_common_info()
147 fattr->cf_dtype = DT_DIR; in cifs_fill_common_info()
149 fattr->cf_mode = S_IFREG | cifs_sb->mnt_file_mode; in cifs_fill_common_info()
150 fattr->cf_dtype = DT_REG; in cifs_fill_common_info()
158 if (fattr->cf_cifsattrs & ATTR_REPARSE) in cifs_fill_common_info()
159 fattr->cf_flags |= CIFS_FATTR_NEED_REVAL; in cifs_fill_common_info()
162 fattr->cf_flags |= CIFS_FATTR_UNKNOWN_NLINK; in cifs_fill_common_info()
164 if (fattr->cf_cifsattrs & ATTR_READONLY) in cifs_fill_common_info()
165 fattr->cf_mode &= ~S_IWUGO; in cifs_fill_common_info()
175 fattr->cf_flags |= CIFS_FATTR_NEED_REVAL; in cifs_fill_common_info()
178 fattr->cf_cifsattrs & ATTR_SYSTEM) { in cifs_fill_common_info()
179 if (fattr->cf_eof == 0) { in cifs_fill_common_info()
180 fattr->cf_mode &= ~S_IFMT; in cifs_fill_common_info()
181 fattr->cf_mode |= S_IFIFO; in cifs_fill_common_info()
182 fattr->cf_dtype = DT_FIFO; in cifs_fill_common_info()
189 fattr->cf_flags |= CIFS_FATTR_NEED_REVAL; in cifs_fill_common_info()
195 cifs_dir_info_to_fattr(struct cifs_fattr *fattr, FILE_DIRECTORY_INFO *info, in cifs_dir_info_to_fattr() argument
198 memset(fattr, 0, sizeof(*fattr)); in cifs_dir_info_to_fattr()
199 fattr->cf_cifsattrs = le32_to_cpu(info->ExtFileAttributes); in cifs_dir_info_to_fattr()
200 fattr->cf_eof = le64_to_cpu(info->EndOfFile); in cifs_dir_info_to_fattr()
201 fattr->cf_bytes = le64_to_cpu(info->AllocationSize); in cifs_dir_info_to_fattr()
202 fattr->cf_createtime = le64_to_cpu(info->CreationTime); in cifs_dir_info_to_fattr()
203 fattr->cf_atime = cifs_NTtimeToUnix(info->LastAccessTime); in cifs_dir_info_to_fattr()
204 fattr->cf_ctime = cifs_NTtimeToUnix(info->ChangeTime); in cifs_dir_info_to_fattr()
205 fattr->cf_mtime = cifs_NTtimeToUnix(info->LastWriteTime); in cifs_dir_info_to_fattr()
207 cifs_fill_common_info(fattr, cifs_sb); in cifs_dir_info_to_fattr()
211 cifs_std_info_to_fattr(struct cifs_fattr *fattr, FIND_FILE_STANDARD_INFO *info, in cifs_std_info_to_fattr() argument
216 memset(fattr, 0, sizeof(*fattr)); in cifs_std_info_to_fattr()
217 fattr->cf_atime = cnvrtDosUnixTm(info->LastAccessDate, in cifs_std_info_to_fattr()
219 fattr->cf_ctime = cnvrtDosUnixTm(info->LastWriteDate, in cifs_std_info_to_fattr()
221 fattr->cf_mtime = cnvrtDosUnixTm(info->LastWriteDate, in cifs_std_info_to_fattr()
224 fattr->cf_cifsattrs = le16_to_cpu(info->Attributes); in cifs_std_info_to_fattr()
225 fattr->cf_bytes = le32_to_cpu(info->AllocationSize); in cifs_std_info_to_fattr()
226 fattr->cf_eof = le32_to_cpu(info->DataSize); in cifs_std_info_to_fattr()
228 cifs_fill_common_info(fattr, cifs_sb); in cifs_std_info_to_fattr()
691 struct cifs_fattr fattr; in cifs_filldir() local
730 cifs_unix_basic_to_fattr(&fattr, in cifs_filldir()
735 cifs_std_info_to_fattr(&fattr, in cifs_filldir()
740 cifs_dir_info_to_fattr(&fattr, in cifs_filldir()
747 fattr.cf_uniqueid = de.ino; in cifs_filldir()
749 fattr.cf_uniqueid = iunique(sb, ROOT_I); in cifs_filldir()
754 couldbe_mf_symlink(&fattr)) in cifs_filldir()
760 fattr.cf_flags |= CIFS_FATTR_NEED_REVAL; in cifs_filldir()
762 cifs_prime_dcache(file->f_path.dentry, &name, &fattr); in cifs_filldir()
764 ino = cifs_uniqueid_to_ino_t(fattr.cf_uniqueid); in cifs_filldir()
765 return !dir_emit(ctx, name.name, name.len, ino, fattr.cf_dtype); in cifs_filldir()