---- 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);