/linux/fs/afs/ |
H A D | dir.c | 96 static void afs_dir_unuse_cookie(struct afs_vnode *dvnode, int ret) in afs_dir_unuse_cookie() argument 100 loff_t i_size = i_size_read(&dvnode->netfs.inode); in afs_dir_unuse_cookie() 102 afs_set_cache_aux(dvnode, &aux); in afs_dir_unuse_cookie() 103 fscache_unuse_cookie(afs_vnode_cache(dvnode), &aux, &i_size); in afs_dir_unuse_cookie() 105 fscache_unuse_cookie(afs_vnode_cache(dvnode), NULL, NULL); in afs_dir_unuse_cookie() 131 static void afs_dir_dump(struct afs_vnode *dvnode) in afs_dir_dump() argument 134 unsigned long long i_size = i_size_read(&dvnode->netfs.inode); in afs_dir_dump() 137 dvnode->fid.vid, dvnode->fid.vnode, i_size); in afs_dir_dump() 139 iov_iter_folio_queue(&iter, ITER_SOURCE, dvnode->directory, 0, 0, i_size); in afs_dir_dump() 147 static bool afs_dir_check_block(struct afs_vnode *dvnode, size_t progress, in afs_dir_check_block() argument [all …]
|
H A D | dir_silly.c | 26 struct afs_vnode *dvnode = dvp->vnode; in afs_silly_rename_edit_dir() local 34 if (dvnode->silly_key != op->key) { in afs_silly_rename_edit_dir() 35 key_put(dvnode->silly_key); in afs_silly_rename_edit_dir() 36 dvnode->silly_key = key_get(op->key); in afs_silly_rename_edit_dir() 39 down_write(&dvnode->validate_lock); in afs_silly_rename_edit_dir() 40 if (test_bit(AFS_VNODE_DIR_VALID, &dvnode->flags) && in afs_silly_rename_edit_dir() 41 dvnode->status.data_version == dvp->dv_before + dvp->dv_delta) { in afs_silly_rename_edit_dir() 42 afs_edit_dir_remove(dvnode, &old->d_name, in afs_silly_rename_edit_dir() 44 afs_edit_dir_add(dvnode, &new->d_name, in afs_silly_rename_edit_dir() 47 up_write(&dvnode->validate_lock); in afs_silly_rename_edit_dir() [all …]
|
H A D | dir_search.c | 42 unsigned long long i_size = i_size_read(&iter->dvnode->netfs.inode); in afs_dir_reset_iter() 70 struct afs_vnode *dvnode = iter->dvnode; in afs_dir_find_block() local 83 if (dvnode->directory_size < blend) in afs_dir_find_block() 87 fq = dvnode->directory; in afs_dir_find_block() 116 afs_invalidate_dir(dvnode, afs_dir_invalid_edit_get_block); in afs_dir_find_block() 183 afs_invalidate_dir(iter->dvnode, afs_dir_invalid_iter_stale); in afs_dir_search_bucket() 191 int afs_dir_search(struct afs_vnode *dvnode, struct qstr *name, in afs_dir_search() argument 194 struct afs_dir_iter iter = { .dvnode = dvnode, }; in afs_dir_search() 197 _enter("{%lu},,,", dvnode->netfs.inode.i_ino); in afs_dir_search() 207 ret = afs_read_dir(dvnode, NULL); in afs_dir_search() [all …]
|
H A D | dir_edit.c | 114 struct afs_vnode *dvnode = iter->dvnode; in afs_dir_get_block() local 120 if (dvnode->directory_size < blend) { in afs_dir_get_block() 121 size_t cur_size = dvnode->directory_size; in afs_dir_get_block() 124 NULL, &dvnode->directory, &cur_size, blend, in afs_dir_get_block() 125 mapping_gfp_mask(dvnode->netfs.inode.i_mapping)); in afs_dir_get_block() 126 dvnode->directory_size = cur_size; in afs_dir_get_block() 133 fq = dvnode->directory; in afs_dir_get_block() 158 afs_invalidate_dir(dvnode, afs_dir_invalid_edit_get_block); in afs_dir_get_block() 247 struct afs_dir_iter iter = { .dvnode = vnode }; in afs_edit_dir_add() 398 struct afs_dir_iter iter = { .dvnode = vnode }; in afs_edit_dir_remove() [all …]
|
H A D | internal.h | 980 struct afs_vnode *dvnode; member 1072 ssize_t afs_read_single(struct afs_vnode *dvnode, struct file *file); 1073 ssize_t afs_read_dir(struct afs_vnode *dvnode, struct file *file) 1074 __acquires(&dvnode->validate_lock); 1088 void afs_mkdir_init_dir(struct afs_vnode *dvnode, struct afs_vnode *parent_vnode); 1098 int afs_dir_search(struct afs_vnode *dvnode, struct qstr *name, 1781 static inline void afs_invalidate_dir(struct afs_vnode *dvnode, in afs_invalidate_dir() argument 1784 if (test_and_clear_bit(AFS_VNODE_DIR_VALID, &dvnode->flags)) { in afs_invalidate_dir() 1785 trace_afs_dir_invalid(dvnode, trace); in afs_invalidate_dir() 1786 afs_stat_v(dvnode, n_inval); in afs_invalidate_dir()
|
/linux/include/trace/events/ |
H A D | afs.h | 993 TP_PROTO(struct afs_vnode *dvnode, const struct qstr *name, 996 TP_ARGS(dvnode, name, fid), 1006 __entry->dfid = dvnode->fid; 1019 TP_PROTO(struct afs_vnode *dvnode, 1028 TP_ARGS(dvnode, why, op, block, slot, f_vnode, f_unique, name), 1045 __entry->vnode = dvnode->fid.vnode; 1046 __entry->unique = dvnode->fid.unique; 1067 TP_PROTO(const struct afs_vnode *dvnode, enum afs_dir_invalid_trace trace), 1069 TP_ARGS(dvnode, trace), 1078 __entry->vnode = dvnode->fid.vnode; [all …]
|