nt9856x/code/driver/source/fs/exfat/Untitled Project.SearchResults
2023-11-23 15:45:32 +08:00

502 lines
31 KiB
Plaintext
Executable File

---- inode Matches (620 in 6 files) ----
Exfat_api.c:int FsLookupFile(struct inode *inode, char *path, FILE_ID_T *fid)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsLookupFile(inode, path, fid);
Exfat_api.c:int FsCreateFile(struct inode *inode, char *path, u8 mode, FILE_ID_T *fid)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsCreateFile(inode, path, mode, fid);
Exfat_api.c:int FsReadFile(struct inode *inode, FILE_ID_T *fid, void *buffer, u64 count, u64 *rcount)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsReadFile(inode, fid, buffer, count, rcount);
Exfat_api.c:int FsWriteFile(struct inode *inode, FILE_ID_T *fid, void *buffer, u64 count, u64 *wcount)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsWriteFile(inode, fid, buffer, count, wcount);
Exfat_api.c:int FsTruncateFile(struct inode *inode, u64 old_size, u64 new_size)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: DPRINTK("FsTruncateFile entered (inode %p size %llu)\n", inode, new_size);
Exfat_api.c: err = ffsTruncateFile(inode, old_size, new_size);
Exfat_api.c:int FsMoveFile(struct inode *old_parent_inode, FILE_ID_T *fid, struct inode *new_parent_inode, struct dentry *new_dentry)
Exfat_api.c:int FsRemoveFile(struct inode *inode, FILE_ID_T *fid)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsRemoveFile(inode, fid);
Exfat_api.c:int FsSetAttr(struct inode *inode, u32 attr)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsSetAttr(inode, attr);
Exfat_api.c:int FsReadStat(struct inode *inode, DIR_ENTRY_T *info)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsGetStat(inode, info);
Exfat_api.c:int FsWriteStat(struct inode *inode, DIR_ENTRY_T *info)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: DPRINTK("FsWriteStat entered (inode %p info %p\n", inode, info);
Exfat_api.c: err = ffsSetStat(inode, info);
Exfat_api.c:int FsMapCluster(struct inode *inode, s32 clu_offset, u32 *clu)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsMapCluster(inode, clu_offset, clu);
Exfat_api.c:int FsCreateDir(struct inode *inode, char *path, FILE_ID_T *fid)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsCreateDir(inode, path, fid);
Exfat_api.c:int FsReadDir(struct inode *inode, DIR_ENTRY_T *dir_entry)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsReadDir(inode, dir_entry);
Exfat_api.c:int FsRemoveDir(struct inode *inode, FILE_ID_T *fid)
Exfat_api.c: struct super_block *sb = inode->i_sb;
Exfat_api.c: err = ffsRemoveDir(inode, fid);
Exfat_api.h: int FsLookupFile(struct inode *inode, char *path, FILE_ID_T *fid);
Exfat_api.h: int FsCreateFile(struct inode *inode, char *path, u8 mode, FILE_ID_T *fid);
Exfat_api.h: int FsReadFile(struct inode *inode, FILE_ID_T *fid, void *buffer, u64 count, u64 *rcount);
Exfat_api.h: int FsWriteFile(struct inode *inode, FILE_ID_T *fid, void *buffer, u64 count, u64 *wcount);
Exfat_api.h: int FsTruncateFile(struct inode *inode, u64 old_size, u64 new_size);
Exfat_api.h: int FsMoveFile(struct inode *old_parent_inode, FILE_ID_T *fid, struct inode *new_parent_inode, struct dentry *new_dentry);
Exfat_api.h: int FsRemoveFile(struct inode *inode, FILE_ID_T *fid);
Exfat_api.h: int FsSetAttr(struct inode *inode, u32 attr);
Exfat_api.h: int FsReadStat(struct inode *inode, DIR_ENTRY_T *info);
Exfat_api.h: int FsWriteStat(struct inode *inode, DIR_ENTRY_T *info);
Exfat_api.h: int FsMapCluster(struct inode *inode, s32 clu_offset, u32 *clu);
Exfat_api.h: int FsCreateDir(struct inode *inode, char *path, FILE_ID_T *fid);
Exfat_api.h: int FsReadDir(struct inode *inode, DIR_ENTRY_T *dir_entry);
Exfat_api.h: int FsRemoveDir(struct inode *inode, FILE_ID_T *fid);
Exfat_core.c:s32 ffsLookupFile(struct inode *inode, char *path, FILE_ID_T *fid)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: ret = resolve_path(inode, path, &dir, &uni_name);
Exfat_core.c:s32 ffsCreateFile(struct inode *inode, char *path, u8 mode, FILE_ID_T *fid)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: ret = resolve_path(inode, path, &dir, &uni_name);
Exfat_core.c: ret = create_file(inode, &dir, &uni_name, mode, fid);
Exfat_core.c:s32 ffsReadFile(struct inode *inode, FILE_ID_T *fid, void *buffer, u64 count, u64 *rcount)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c:s32 ffsWriteFile(struct inode *inode, FILE_ID_T *fid, void *buffer, u64 count, u64 *wcount)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c:s32 ffsTruncateFile(struct inode *inode, u64 old_size, u64 new_size)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: FILE_ID_T *fid = &(EXFAT_I(inode)->fid);
Exfat_core.c:static void update_parent_info(FILE_ID_T *fid, struct inode *parent_inode)
Exfat_core.c:s32 ffsMoveFile(struct inode *old_parent_inode, FILE_ID_T *fid, struct inode *new_parent_inode, struct dentry *new_dentry)
Exfat_core.c: struct inode *new_inode = new_dentry->d_inode;
Exfat_core.c:s32 ffsRemoveFile(struct inode *inode, FILE_ID_T *fid)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: remove_file(inode, &dir, dentry);
Exfat_core.c:s32 ffsSetAttr(struct inode *inode, u32 attr)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: FILE_ID_T *fid = &(EXFAT_I(inode)->fid);
Exfat_core.c:s32 ffsGetStat(struct inode *inode, DIR_ENTRY_T *info)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: FILE_ID_T *fid = &(EXFAT_I(inode)->fid);
Exfat_core.c:s32 ffsSetStat(struct inode *inode, DIR_ENTRY_T *info)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: FILE_ID_T *fid = &(EXFAT_I(inode)->fid);
Exfat_core.c:s32 ffsMapCluster(struct inode *inode, s32 clu_offset, u32 *clu)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: FILE_ID_T *fid = &(EXFAT_I(inode)->fid);
Exfat_core.c: if (EXFAT_I(inode)->mmu_private == 0)
Exfat_core.c: num_clusters = (s32)((EXFAT_I(inode)->mmu_private-1) >> p_fs->cluster_size_bits) + 1;
Exfat_core.c: /* add number of new blocks to inode */
Exfat_core.c: inode->i_blocks += num_alloced << (p_fs->cluster_size_bits - 9);
Exfat_core.c:s32 ffsCreateDir(struct inode *inode, char *path, FILE_ID_T *fid)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: ret = resolve_path(inode, path, &dir, &uni_name);
Exfat_core.c: ret = create_dir(inode, &dir, &uni_name, fid);
Exfat_core.c:s32 ffsReadDir(struct inode *inode, DIR_ENTRY_T *dir_entry)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: FILE_ID_T *fid = &(EXFAT_I(inode)->fid);
Exfat_core.c:s32 ffsRemoveDir(struct inode *inode, FILE_ID_T *fid)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: remove_file(inode, &dir, dentry);
Exfat_core.c:s32 find_empty_entry(struct inode *inode, CHAIN_T *p_dir, s32 num_entries)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: FILE_ID_T *fid = &(EXFAT_I(inode)->fid);
Exfat_core.c: size = i_size_read(inode);
Exfat_core.c: i_size_write(inode, i_size_read(inode)+p_fs->cluster_size);
Exfat_core.c: EXFAT_I(inode)->mmu_private += p_fs->cluster_size;
Exfat_core.c: EXFAT_I(inode)->fid.size += p_fs->cluster_size;
Exfat_core.c: EXFAT_I(inode)->fid.flags = p_dir->flags;
Exfat_core.c: inode->i_blocks += 1 << (p_fs->cluster_size_bits - 9);
Exfat_core.c:s32 resolve_path(struct inode *inode, char *path, CHAIN_T *p_dir, UNI_NAME_T *p_uniname)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: FILE_ID_T *fid = &(EXFAT_I(inode)->fid);
Exfat_core.c: fid->size = i_size_read(inode);
Exfat_core.c:s32 create_dir(struct inode *inode, CHAIN_T *p_dir, UNI_NAME_T *p_uniname, FILE_ID_T *fid)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: dentry = find_empty_entry(inode, p_dir, num_entries);
Exfat_core.c:s32 create_file(struct inode *inode, CHAIN_T *p_dir, UNI_NAME_T *p_uniname, u8 mode, FILE_ID_T *fid)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: dentry = find_empty_entry(inode, p_dir, num_entries);
Exfat_core.c:void remove_file(struct inode *inode, CHAIN_T *p_dir, s32 entry)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c:s32 rename_file(struct inode *inode, CHAIN_T *p_dir, s32 oldentry, UNI_NAME_T *p_uniname, FILE_ID_T *fid)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: newentry = find_empty_entry(inode, p_dir, num_new_entries);
Exfat_core.c:s32 move_file(struct inode *inode, CHAIN_T *p_olddir, s32 oldentry, CHAIN_T *p_newdir, UNI_NAME_T *p_uniname, FILE_ID_T *fid)
Exfat_core.c: struct super_block *sb = inode->i_sb;
Exfat_core.c: newentry = find_empty_entry(inode, p_newdir, num_new_entries);
Exfat_core.h:s32 ffsLookupFile(struct inode *inode, char *path, FILE_ID_T *fid);
Exfat_core.h:s32 ffsCreateFile(struct inode *inode, char *path, u8 mode, FILE_ID_T *fid);
Exfat_core.h:s32 ffsReadFile(struct inode *inode, FILE_ID_T *fid, void *buffer, u64 count, u64 *rcount);
Exfat_core.h:s32 ffsWriteFile(struct inode *inode, FILE_ID_T *fid, void *buffer, u64 count, u64 *wcount);
Exfat_core.h:s32 ffsTruncateFile(struct inode *inode, u64 old_size, u64 new_size);
Exfat_core.h:s32 ffsMoveFile(struct inode *old_parent_inode, FILE_ID_T *fid, struct inode *new_parent_inode, struct dentry *new_dentry);
Exfat_core.h:s32 ffsRemoveFile(struct inode *inode, FILE_ID_T *fid);
Exfat_core.h:s32 ffsSetAttr(struct inode *inode, u32 attr);
Exfat_core.h:s32 ffsGetStat(struct inode *inode, DIR_ENTRY_T *info);
Exfat_core.h:s32 ffsSetStat(struct inode *inode, DIR_ENTRY_T *info);
Exfat_core.h:s32 ffsMapCluster(struct inode *inode, s32 clu_offset, u32 *clu);
Exfat_core.h:s32 ffsCreateDir(struct inode *inode, char *path, FILE_ID_T *fid);
Exfat_core.h:s32 ffsReadDir(struct inode *inode, DIR_ENTRY_T *dir_ent);
Exfat_core.h:s32 ffsRemoveDir(struct inode *inode, FILE_ID_T *fid);
Exfat_core.h:s32 find_empty_entry(struct inode *inode, CHAIN_T *p_dir, s32 num_entries);
Exfat_core.h:s32 resolve_path(struct inode *inode, char *path, CHAIN_T *p_dir, UNI_NAME_T *p_uniname);
Exfat_core.h:s32 create_dir(struct inode *inode, CHAIN_T *p_dir, UNI_NAME_T *p_uniname, FILE_ID_T *fid);
Exfat_core.h:s32 create_file(struct inode *inode, CHAIN_T *p_dir, UNI_NAME_T *p_uniname, u8 mode, FILE_ID_T *fid);
Exfat_core.h:void remove_file(struct inode *inode, CHAIN_T *p_dir, s32 entry);
Exfat_core.h:s32 rename_file(struct inode *inode, CHAIN_T *p_dir, s32 old_entry, UNI_NAME_T *p_uniname, FILE_ID_T *fid);
Exfat_core.h:s32 move_file(struct inode *inode, CHAIN_T *p_olddir, s32 oldentry, CHAIN_T *p_newdir, UNI_NAME_T *p_uniname, FILE_ID_T *fid);
Exfat_super.c:/* Some of the source code in this file came from "linux/fs/fat/file.c","linux/fs/fat/inode.c" and "linux/fs/fat/misc.c". */
Exfat_super.c: * linux/fs/fat/inode.c
Exfat_super.c:static void _exfat_truncate(struct inode *inode, loff_t old_size);
Exfat_super.c:static struct inode *exfat_iget(struct super_block *sb, loff_t i_pos);
Exfat_super.c:static int exfat_generic_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg);
Exfat_super.c:static int exfat_sync_inode(struct inode *inode);
Exfat_super.c:static struct inode *exfat_build_inode(struct super_block *sb, FILE_ID_T *fid, loff_t i_pos);
Exfat_super.c:static void exfat_detach(struct inode *inode);
Exfat_super.c:static void exfat_attach(struct inode *inode, loff_t i_pos);
Exfat_super.c:static int exfat_write_inode(struct inode *inode, int wait);
Exfat_super.c:static int exfat_write_inode(struct inode *inode, struct writeback_control *wbc);
Exfat_super.c:static int exfat_d_hash(const struct dentry *dentry, const struct inode *inode,
Exfat_super.c:static int exfat_d_hashi(const struct dentry *dentry, const struct inode *inode,
Exfat_super.c:static int exfat_cmpi(const struct dentry *parent, const struct inode *pinode,
Exfat_super.c: const struct dentry *dentry, const struct inode *inode,
Exfat_super.c:static int exfat_cmp(const struct dentry *parent, const struct inode *pinode,
Exfat_super.c: const struct dentry *dentry, const struct inode *inode,
Exfat_super.c: struct inode *inode = file_inode(filp);
Exfat_super.c: struct inode *inode = filp->f_path.dentry->d_inode;
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c: if ((p_fs->vol_type == EXFAT) || (inode->i_ino == EXFAT_ROOT_INO)) {
Exfat_super.c: if (inode->i_ino == EXFAT_ROOT_INO)
Exfat_super.c: inum = inode->i_ino;
Exfat_super.c: EXFAT_I(inode)->fid.size = i_size_read(inode);
Exfat_super.c: EXFAT_I(inode)->fid.rwoffset = cpos >> DENTRY_SIZE_BITS;
Exfat_super.c: err = FsReadDir(inode, &de);
Exfat_super.c: cpos = EXFAT_I(inode)->fid.rwoffset << DENTRY_SIZE_BITS;
Exfat_super.c: inum = inode->i_ino;
Exfat_super.c: loff_t i_pos = ((loff_t) EXFAT_I(inode)->fid.start_clu << 32) |
Exfat_super.c: ((EXFAT_I(inode)->fid.rwoffset-1) & 0xffffffff);
Exfat_super.c: struct inode *tmp = exfat_iget(sb, i_pos);
Exfat_super.c:static int exfat_ioctl_volume_id(struct inode *dir)
Exfat_super.c:static int exfat_generic_ioctl(struct inode *inode, struct file *filp,
Exfat_super.c: struct inode *inode = filp->f_path.dentry->d_inode;
Exfat_super.c: struct inode *inode = filp->f_dentry->d_inode;
Exfat_super.c: return exfat_ioctl_volume_id(inode);
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c: struct inode *inode = filp->f_mapping->host;
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c:static int exfat_create(struct inode *dir, struct dentry *dentry, umode_t mode,
Exfat_super.c:static int exfat_create(struct inode *dir, struct dentry *dentry, umode_t mode,
Exfat_super.c:static int exfat_create(struct inode *dir, struct dentry *dentry, int mode,
Exfat_super.c: struct inode *inode;
Exfat_super.c: inode = exfat_build_inode(sb, &fid, i_pos);
Exfat_super.c: if (IS_ERR(inode)) {
Exfat_super.c: err = PTR_ERR(inode);
Exfat_super.c: INC_IVERSION(inode);
Exfat_super.c: inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
Exfat_super.c: d_instantiate(dentry, inode);
Exfat_super.c:static int exfat_find(struct inode *dir, struct qstr *qname,
Exfat_super.c:static struct dentry *exfat_lookup(struct inode *dir, struct dentry *dentry,
Exfat_super.c:static struct dentry *exfat_lookup(struct inode *dir, struct dentry *dentry,
Exfat_super.c: struct inode *inode;
Exfat_super.c: inode = NULL;
Exfat_super.c: inode = exfat_build_inode(sb, &fid, i_pos);
Exfat_super.c: if (IS_ERR(inode)) {
Exfat_super.c: err = PTR_ERR(inode);
Exfat_super.c: i_mode = inode->i_mode;
Exfat_super.c: if (S_ISLNK(i_mode) && !EXFAT_I(inode)->target) {
Exfat_super.c: EXFAT_I(inode)->target = kmalloc(i_size_read(inode)+1, GFP_KERNEL);
Exfat_super.c: if (!EXFAT_I(inode)->target) {
Exfat_super.c: FsReadFile(dir, &fid, EXFAT_I(inode)->target, i_size_read(inode), &ret);
Exfat_super.c: *(EXFAT_I(inode)->target + i_size_read(inode)) = '\0';
Exfat_super.c: alias = d_find_alias(inode);
Exfat_super.c: iput(inode);
Exfat_super.c: dentry = d_splice_alias(inode, dentry);
Exfat_super.c: dentry = d_splice_alias(inode, dentry);
Exfat_super.c:static int exfat_unlink(struct inode *dir, struct dentry *dentry)
Exfat_super.c: struct inode *inode = dentry->d_inode;
Exfat_super.c: EXFAT_I(inode)->fid.size = i_size_read(inode);
Exfat_super.c: err = FsRemoveFile(dir, &(EXFAT_I(inode)->fid));
Exfat_super.c: clear_nlink(inode);
Exfat_super.c: inode->i_mtime = inode->i_atime = current_time(inode);
Exfat_super.c: exfat_detach(inode);
Exfat_super.c: remove_inode_hash(inode);
Exfat_super.c:static int exfat_symlink(struct inode *dir, struct dentry *dentry, const char *target)
Exfat_super.c: struct inode *inode;
Exfat_super.c: inode = exfat_build_inode(sb, &fid, i_pos);
Exfat_super.c: if (IS_ERR(inode)) {
Exfat_super.c: err = PTR_ERR(inode);
Exfat_super.c: INC_IVERSION(inode);
Exfat_super.c: inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
Exfat_super.c: EXFAT_I(inode)->target = kmalloc(len+1, GFP_KERNEL);
Exfat_super.c: if (!EXFAT_I(inode)->target) {
Exfat_super.c: memcpy(EXFAT_I(inode)->target, target, len+1);
Exfat_super.c: d_instantiate(dentry, inode);
Exfat_super.c:static int exfat_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
Exfat_super.c:static int exfat_mkdir(struct inode *dir, struct dentry *dentry, int mode)
Exfat_super.c: struct inode *inode;
Exfat_super.c: inode = exfat_build_inode(sb, &fid, i_pos);
Exfat_super.c: if (IS_ERR(inode)) {
Exfat_super.c: err = PTR_ERR(inode);
Exfat_super.c: INC_IVERSION(inode);
Exfat_super.c: inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
Exfat_super.c: d_instantiate(dentry, inode);
Exfat_super.c:static int exfat_rmdir(struct inode *dir, struct dentry *dentry)
Exfat_super.c: struct inode *inode = dentry->d_inode;
Exfat_super.c: EXFAT_I(inode)->fid.size = i_size_read(inode);
Exfat_super.c: err = FsRemoveDir(dir, &(EXFAT_I(inode)->fid));
Exfat_super.c: clear_nlink(inode);
Exfat_super.c: inode->i_mtime = inode->i_atime = current_time(inode);
Exfat_super.c: exfat_detach(inode);
Exfat_super.c: remove_inode_hash(inode);
Exfat_super.c:static int exfat_rename(struct inode *old_dir, struct dentry *old_dentry,
Exfat_super.c: struct inode *new_dir, struct dentry *new_dentry,
Exfat_super.c:static int exfat_rename(struct inode *old_dir, struct dentry *old_dentry,
Exfat_super.c: struct inode *new_dir, struct dentry *new_dentry)
Exfat_super.c: struct inode *old_inode, *new_inode;
Exfat_super.c:static int exfat_cont_expand(struct inode *inode, loff_t size)
Exfat_super.c: struct address_space *mapping = inode->i_mapping;
Exfat_super.c: loff_t start = i_size_read(inode), count = size - i_size_read(inode);
Exfat_super.c: err = generic_cont_expand_simple(inode, size);
Exfat_super.c: inode->i_ctime = inode->i_mtime = current_time(inode);
Exfat_super.c: mark_inode_dirty(inode);
Exfat_super.c: if (IS_SYNC(inode)) {
Exfat_super.c: err2 = write_inode_now(inode, 1);
Exfat_super.c:static int exfat_allow_set_time(struct exfat_sb_info *sbi, struct inode *inode)
Exfat_super.c: if (!uid_eq(current_fsuid(), inode->i_uid))
Exfat_super.c: if (current_fsuid() != inode->i_uid)
Exfat_super.c: if (in_group_p(inode->i_gid))
Exfat_super.c: struct inode *inode, umode_t *mode_ptr)
Exfat_super.c: i_mode = inode->i_mode;
Exfat_super.c: if (exfat_mode_can_hold_ro(inode)) {
Exfat_super.c: /* If exfat_mode_can_hold_ro(inode) is false, can't change w bits. */
Exfat_super.c: struct inode *inode = dentry->d_inode;
Exfat_super.c: && (attr->ia_size > i_size_read(inode))) {
Exfat_super.c: error = exfat_cont_expand(inode, attr->ia_size);
Exfat_super.c: && exfat_allow_set_time(sbi, inode)) {
Exfat_super.c: error = inode_change_ok(inode, attr);
Exfat_super.c: if (exfat_sanitize_mode(sbi, inode, &attr->ia_mode) < 0)
Exfat_super.c: EXFAT_I(inode)->fid.size = i_size_read(inode);
Exfat_super.c: error = inode_setattr(inode, attr);
Exfat_super.c: old_size = i_size_read(inode);
Exfat_super.c: down_write(&EXFAT_I(inode)->truncate_lock);
Exfat_super.c: truncate_setsize(inode, attr->ia_size);
Exfat_super.c: _exfat_truncate(inode, old_size);
Exfat_super.c: up_write(&EXFAT_I(inode)->truncate_lock);
Exfat_super.c: truncate_setsize(inode, attr->ia_size);
Exfat_super.c: _exfat_truncate(inode, old_size);
Exfat_super.c: setattr_copy(inode, attr);
Exfat_super.c: mark_inode_dirty(inode);
Exfat_super.c: struct inode *inode = path->dentry->d_inode;
Exfat_super.c: struct inode *inode = dentry->d_inode;
Exfat_super.c: generic_fillattr(inode, stat);
Exfat_super.c: stat->blksize = EXFAT_SB(inode->i_sb)->fs_info.cluster_size;
Exfat_super.c:static const char *exfat_get_link(struct dentry *dentry, struct inode *inode, struct delayed_call *done)
Exfat_super.c: struct exfat_inode_info *ei = EXFAT_I(inode);
Exfat_super.c:static int exfat_file_release(struct inode *inode, struct file *filp)
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c: EXFAT_I(inode)->fid.size = i_size_read(inode);
Exfat_super.c:static void _exfat_truncate(struct inode *inode, loff_t old_size)
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c: if (EXFAT_I(inode)->mmu_private > i_size_read(inode))
Exfat_super.c: EXFAT_I(inode)->mmu_private = i_size_read(inode);
Exfat_super.c: if (EXFAT_I(inode)->fid.start_clu == 0)
Exfat_super.c: err = FsTruncateFile(inode, old_size, i_size_read(inode));
Exfat_super.c: inode->i_ctime = inode->i_mtime = current_time(inode);
Exfat_super.c: if (IS_DIRSYNC(inode))
Exfat_super.c: (void) exfat_sync_inode(inode);
Exfat_super.c: mark_inode_dirty(inode);
Exfat_super.c: inode->i_blocks = ((i_size_read(inode) + (p_fs->cluster_size - 1))
Exfat_super.c:static void exfat_truncate(struct inode *inode)
Exfat_super.c: _exfat_truncate(inode, i_size_read(inode));
Exfat_super.c:static int exfat_bmap(struct inode *inode, sector_t sector, sector_t *phys,
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c: if (inode->i_ino == EXFAT_ROOT_INO) {
Exfat_super.c: last_block = (i_size_read(inode) + (blocksize - 1)) >> blocksize_bits;
Exfat_super.c: EXFAT_I(inode)->fid.size = i_size_read(inode);
Exfat_super.c: err = FsMapCluster(inode, clu_offset, &cluster);
Exfat_super.c:static int exfat_get_block(struct inode *inode, sector_t iblock,
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c: unsigned long max_blocks = bh_result->b_size >> inode->i_blkbits;
Exfat_super.c: err = exfat_bmap(inode, iblock, &phys, &mapped_blocks, &create);
Exfat_super.c: EXFAT_I(inode)->mmu_private += max_blocks << sb->s_blocksize_bits;
Exfat_super.c: struct inode *inode = mapping->host;
Exfat_super.c: if (to > i_size_read(inode)) {
Exfat_super.c: truncate_pagecache(inode, i_size_read(inode));
Exfat_super.c: truncate_pagecache(inode, to, i_size_read(inode));
Exfat_super.c: EXFAT_I(inode)->fid.size = i_size_read(inode);
Exfat_super.c: _exfat_truncate(inode, i_size_read(inode));
Exfat_super.c: struct inode *inode = mapping->host;
Exfat_super.c: FILE_ID_T *fid = &(EXFAT_I(inode)->fid);
Exfat_super.c: inode->i_mtime = inode->i_ctime = current_time(inode);
Exfat_super.c: mark_inode_dirty(inode);
Exfat_super.c: struct inode *inode = iocb->ki_filp->f_mapping->host;
Exfat_super.c: if (EXFAT_I(inode)->mmu_private <
Exfat_super.c: if (EXFAT_I(inode)->mmu_private < (offset + iov_length(iov, nr_segs)))
Exfat_super.c: if (EXFAT_I(inode)->mmu_private < (offset + iov_iter_count(iter)))
Exfat_super.c: if (EXFAT_I(inode)->mmu_private < iov_iter_count(iter))
Exfat_super.c: ret = blockdev_direct_IO(iocb, inode, iter, exfat_get_block);
Exfat_super.c: ret = blockdev_direct_IO(iocb, inode, iter,
Exfat_super.c: ret = blockdev_direct_IO(rw, iocb, inode, iter,
Exfat_super.c: ret = blockdev_direct_IO(rw, iocb, inode, iter,
Exfat_super.c: ret = blockdev_direct_IO(rw, iocb, inode, iov,
Exfat_super.c: ret = blockdev_direct_IO(rw, iocb, inode, inode->i_sb->s_bdev, iov,
Exfat_super.c:static struct inode *exfat_iget(struct super_block *sb, loff_t i_pos)
Exfat_super.c: struct inode *inode = NULL;
Exfat_super.c: inode = igrab(&info->vfs_inode);
Exfat_super.c: if (inode)
Exfat_super.c: return inode;
Exfat_super.c:static void exfat_attach(struct inode *inode, loff_t i_pos)
Exfat_super.c: struct exfat_sb_info *sbi = EXFAT_SB(inode->i_sb);
Exfat_super.c: EXFAT_I(inode)->i_pos = i_pos;
Exfat_super.c: hlist_add_head(&EXFAT_I(inode)->i_hash_fat, head);
Exfat_super.c:static void exfat_detach(struct inode *inode)
Exfat_super.c: struct exfat_sb_info *sbi = EXFAT_SB(inode->i_sb);
Exfat_super.c: hlist_del_init(&EXFAT_I(inode)->i_hash_fat);
Exfat_super.c: EXFAT_I(inode)->i_pos = 0;
Exfat_super.c:/* doesn't deal with root inode */
Exfat_super.c:static int exfat_fill_inode(struct inode *inode, FILE_ID_T *fid)
Exfat_super.c: struct exfat_sb_info *sbi = EXFAT_SB(inode->i_sb);
Exfat_super.c: memcpy(&(EXFAT_I(inode)->fid), fid, sizeof(FILE_ID_T));
Exfat_super.c: FsReadStat(inode, &info);
Exfat_super.c: EXFAT_I(inode)->i_pos = 0;
Exfat_super.c: EXFAT_I(inode)->target = NULL;
Exfat_super.c: inode->i_uid = sbi->options.fs_uid;
Exfat_super.c: inode->i_gid = sbi->options.fs_gid;
Exfat_super.c: INC_IVERSION(inode);
Exfat_super.c: inode->i_generation = get_seconds();
Exfat_super.c: inode->i_generation &= ~1;
Exfat_super.c: inode->i_mode = exfat_make_mode(sbi, info.Attr, S_IRWXUGO);
Exfat_super.c: inode->i_op = &exfat_dir_inode_operations;
Exfat_super.c: inode->i_fop = &exfat_dir_operations;
Exfat_super.c: i_size_write(inode, info.Size);
Exfat_super.c: EXFAT_I(inode)->mmu_private = i_size_read(inode);
Exfat_super.c: set_nlink(inode, info.NumSubdirs);
Exfat_super.c: inode->i_nlink = info.NumSubdirs;
Exfat_super.c: inode->i_generation |= 1;
Exfat_super.c: inode->i_mode = exfat_make_mode(sbi, info.Attr, S_IRWXUGO);
Exfat_super.c: inode->i_op = &exfat_symlink_inode_operations;
Exfat_super.c: i_size_write(inode, info.Size);
Exfat_super.c: EXFAT_I(inode)->mmu_private = i_size_read(inode);
Exfat_super.c: inode->i_generation |= 1;
Exfat_super.c: inode->i_mode = exfat_make_mode(sbi, info.Attr, S_IRWXUGO);
Exfat_super.c: inode->i_op = &exfat_file_inode_operations;
Exfat_super.c: inode->i_fop = &exfat_file_operations;
Exfat_super.c: inode->i_mapping->a_ops = &exfat_aops;
Exfat_super.c: inode->i_mapping->nrpages = 0;
Exfat_super.c: i_size_write(inode, info.Size);
Exfat_super.c: EXFAT_I(inode)->mmu_private = i_size_read(inode);
Exfat_super.c: exfat_save_attr(inode, info.Attr);
Exfat_super.c: inode->i_blocks = ((i_size_read(inode) + (p_fs->cluster_size - 1))
Exfat_super.c: exfat_time_fat2unix(sbi, &inode->i_mtime, &info.ModifyTimestamp);
Exfat_super.c: exfat_time_fat2unix(sbi, &inode->i_ctime, &info.CreateTimestamp);
Exfat_super.c: exfat_time_fat2unix(sbi, &inode->i_atime, &info.AccessTimestamp);
Exfat_super.c:static struct inode *exfat_build_inode(struct super_block *sb,
Exfat_super.c: struct inode *inode;
Exfat_super.c: inode = exfat_iget(sb, i_pos);
Exfat_super.c: if (inode)
Exfat_super.c: inode = new_inode(sb);
Exfat_super.c: if (!inode) {
Exfat_super.c: inode = ERR_PTR(-ENOMEM);
Exfat_super.c: inode->i_ino = iunique(sb, EXFAT_ROOT_INO);
Exfat_super.c: SET_IVERSION(inode, 1);
Exfat_super.c: err = exfat_fill_inode(inode, fid);
Exfat_super.c: iput(inode);
Exfat_super.c: inode = ERR_PTR(err);
Exfat_super.c: exfat_attach(inode, i_pos);
Exfat_super.c: insert_inode_hash(inode);
Exfat_super.c: return inode;
Exfat_super.c:static int exfat_sync_inode(struct inode *inode)
Exfat_super.c: return exfat_write_inode(inode, 0);
Exfat_super.c: return exfat_write_inode(inode, NULL);
Exfat_super.c:static struct inode *exfat_alloc_inode(struct super_block *sb)
Exfat_super.c:static void exfat_destroy_inode(struct inode *inode)
Exfat_super.c: if (EXFAT_I(inode)->target)
Exfat_super.c: kfree(EXFAT_I(inode)->target);
Exfat_super.c: EXFAT_I(inode)->target = NULL;
Exfat_super.c: kmem_cache_free(exfat_inode_cachep, EXFAT_I(inode));
Exfat_super.c:static int exfat_write_inode(struct inode *inode, int wait)
Exfat_super.c:static int exfat_write_inode(struct inode *inode, struct writeback_control *wbc)
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c: if (inode->i_ino == EXFAT_ROOT_INO)
Exfat_super.c: info.Attr = exfat_make_attr(inode);
Exfat_super.c: info.Size = i_size_read(inode);
Exfat_super.c: exfat_time_unix2fat(sbi, &inode->i_mtime, &info.ModifyTimestamp);
Exfat_super.c: exfat_time_unix2fat(sbi, &inode->i_ctime, &info.CreateTimestamp);
Exfat_super.c: exfat_time_unix2fat(sbi, &inode->i_atime, &info.AccessTimestamp);
Exfat_super.c: FsWriteStat(inode, &info);
Exfat_super.c:static void exfat_delete_inode(struct inode *inode)
Exfat_super.c: truncate_inode_pages(&inode->i_data, 0);
Exfat_super.c: clear_inode(inode);
Exfat_super.c:static void exfat_clear_inode(struct inode *inode)
Exfat_super.c: exfat_detach(inode);
Exfat_super.c: remove_inode_hash(inode);
Exfat_super.c:static void exfat_evict_inode(struct inode *inode)
Exfat_super.c: truncate_inode_pages(&inode->i_data, 0);
Exfat_super.c: if (!inode->i_nlink)
Exfat_super.c: i_size_write(inode, 0);
Exfat_super.c: invalidate_inode_buffers(inode);
Exfat_super.c: end_writeback(inode);
Exfat_super.c: clear_inode(inode);
Exfat_super.c: exfat_detach(inode);
Exfat_super.c: remove_inode_hash(inode);
Exfat_super.c:static struct inode *exfat_nfs_get_inode(struct super_block *sb,
Exfat_super.c: struct inode *inode = NULL;
Exfat_super.c: return inode;
Exfat_super.c: inode = ilookup(sb, ino);
Exfat_super.c: if (inode && generation && (inode->i_generation != generation)) {
Exfat_super.c: iput(inode);
Exfat_super.c: inode = NULL;
Exfat_super.c: return inode;
Exfat_super.c:static int exfat_read_root(struct inode *inode)
Exfat_super.c: struct super_block *sb = inode->i_sb;
Exfat_super.c: EXFAT_I(inode)->fid.dir.dir = p_fs->root_dir;
Exfat_super.c: EXFAT_I(inode)->fid.dir.flags = 0x01;
Exfat_super.c: EXFAT_I(inode)->fid.entry = -1;
Exfat_super.c: EXFAT_I(inode)->fid.start_clu = p_fs->root_dir;
Exfat_super.c: EXFAT_I(inode)->fid.flags = 0x01;
Exfat_super.c: EXFAT_I(inode)->fid.type = TYPE_DIR;
Exfat_super.c: EXFAT_I(inode)->fid.rwoffset = 0;
Exfat_super.c: EXFAT_I(inode)->fid.hint_last_off = -1;
Exfat_super.c: EXFAT_I(inode)->target = NULL;
Exfat_super.c: FsReadStat(inode, &info);
Exfat_super.c: inode->i_uid = sbi->options.fs_uid;
Exfat_super.c: inode->i_gid = sbi->options.fs_gid;
Exfat_super.c: INC_IVERSION(inode);
Exfat_super.c: inode->i_generation = 0;
Exfat_super.c: inode->i_mode = exfat_make_mode(sbi, ATTR_SUBDIR, S_IRWXUGO);
Exfat_super.c: inode->i_op = &exfat_dir_inode_operations;
Exfat_super.c: inode->i_fop = &exfat_dir_operations;
Exfat_super.c: i_size_write(inode, info.Size);
Exfat_super.c: inode->i_blocks = ((i_size_read(inode) + (p_fs->cluster_size - 1))
Exfat_super.c: EXFAT_I(inode)->i_pos = ((loff_t) p_fs->root_dir << 32) | 0xffffffff;
Exfat_super.c: EXFAT_I(inode)->mmu_private = i_size_read(inode);
Exfat_super.c: exfat_save_attr(inode, ATTR_SUBDIR);
Exfat_super.c: inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
Exfat_super.c: set_nlink(inode, info.NumSubdirs + 2);
Exfat_super.c: inode->i_nlink = info.NumSubdirs + 2;
Exfat_super.c: struct inode *root_inode = NULL;
Exfat_super.c: /* set up enough so that it can read an inode */
Exfat_super.c: printk(KERN_ERR "[EXFAT] Getting the root inode failed\n");
Exfat_super.h: struct inode *fat_inode;
Exfat_super.h: * EXFAT file system inode data in memory
Exfat_super.h: struct inode vfs_inode;
Exfat_super.h:static inline struct exfat_inode_info *EXFAT_I(struct inode *inode)
Exfat_super.h: return container_of(inode, struct exfat_inode_info, vfs_inode);
Exfat_super.h:static inline int exfat_mode_can_hold_ro(struct inode *inode)
Exfat_super.h: struct exfat_sb_info *sbi = EXFAT_SB(inode->i_sb);
Exfat_super.h: if (S_ISDIR(inode->i_mode))
Exfat_super.h:/* Return the FAT attribute byte for this inode */
Exfat_super.h:static inline u32 exfat_make_attr(struct inode *inode)
Exfat_super.h: if (exfat_mode_can_hold_ro(inode) && !(inode->i_mode & S_IWUGO))
Exfat_super.h: return (EXFAT_I(inode)->fid.attr) | ATTR_READONLY;
Exfat_super.h: return EXFAT_I(inode)->fid.attr;
Exfat_super.h:static inline void exfat_save_attr(struct inode *inode, u32 attr)
Exfat_super.h: if (exfat_mode_can_hold_ro(inode))
Exfat_super.h: EXFAT_I(inode)->fid.attr = attr & ATTR_RWMASK;
Exfat_super.h: EXFAT_I(inode)->fid.attr = attr & (ATTR_RWMASK | ATTR_READONLY);