/linux/fs/afs/ |
H A D | flock.c | 16 static void afs_next_locker(struct afs_vnode *vnode, int error); 25 static inline void afs_set_lock_state(struct afs_vnode *vnode, enum afs_lock_state state) in afs_set_lock_state() argument 27 _debug("STATE %u -> %u", vnode->lock_state, state); in afs_set_lock_state() 28 vnode->lock_state = state; in afs_set_lock_state() 36 void afs_lock_may_be_available(struct afs_vnode *vnode) in afs_lock_may_be_available() argument 38 _enter("{%llx:%llu}", vnode->fid.vid, vnode->fid.vnode); in afs_lock_may_be_available() 40 spin_lock(&vnode->lock); in afs_lock_may_be_available() 41 if (vnode->lock_state == AFS_VNODE_LOCK_WAITING_FOR_CB) in afs_lock_may_be_available() 42 afs_next_locker(vnode, 0); in afs_lock_may_be_available() 43 trace_afs_flock_ev(vnode, NULL, afs_flock_callback_break, 0); in afs_lock_may_be_available() [all …]
|
H A D | inode.c | 28 void afs_init_new_symlink(struct afs_vnode *vnode, struct afs_operation *op) in afs_init_new_symlink() argument 34 if (netfs_alloc_folioq_buffer(NULL, &vnode->directory, &dsize, size, in afs_init_new_symlink() 35 mapping_gfp_mask(vnode->netfs.inode.i_mapping)) < 0) in afs_init_new_symlink() 38 vnode->directory_size = dsize; in afs_init_new_symlink() 39 p = kmap_local_folio(folioq_folio(vnode->directory, 0), 0); in afs_init_new_symlink() 42 set_bit(AFS_VNODE_DIR_READ, &vnode->flags); in afs_init_new_symlink() 43 netfs_single_mark_inode_dirty(&vnode->netfs.inode); in afs_init_new_symlink() 57 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_get_link() local 64 if (!test_bit(AFS_VNODE_DIR_READ, &vnode->flags) || !afs_check_validity(vnode)) in afs_get_link() 69 if (test_bit(AFS_VNODE_DIR_READ, &vnode->flags)) in afs_get_link() [all …]
|
H A D | fs_operation.c | 61 static void afs_unlock_for_io(struct afs_vnode *vnode) in afs_unlock_for_io() argument 65 spin_lock(&vnode->lock); in afs_unlock_for_io() 66 locker = list_first_entry_or_null(&vnode->io_lock_waiters, in afs_unlock_for_io() 74 clear_bit(AFS_VNODE_IO_LOCK, &vnode->flags); in afs_unlock_for_io() 76 spin_unlock(&vnode->lock); in afs_unlock_for_io() 83 static void afs_lock_for_io(struct afs_vnode *vnode) in afs_lock_for_io() argument 87 spin_lock(&vnode->lock); in afs_lock_for_io() 89 if (!test_and_set_bit(AFS_VNODE_IO_LOCK, &vnode->flags)) { in afs_lock_for_io() 90 spin_unlock(&vnode->lock); in afs_lock_for_io() 94 list_add_tail(&myself.link, &vnode->io_lock_waiters); in afs_lock_for_io() [all …]
|
H A D | file.c | 85 int afs_cache_wb_key(struct afs_vnode *vnode, struct afs_file *af) in afs_cache_wb_key() argument 95 spin_lock(&vnode->wb_lock); in afs_cache_wb_key() 96 list_for_each_entry(p, &vnode->wb_keys, vnode_link) { in afs_cache_wb_key() 102 list_add_tail(&wbk->vnode_link, &vnode->wb_keys); in afs_cache_wb_key() 103 spin_unlock(&vnode->wb_lock); in afs_cache_wb_key() 109 spin_unlock(&vnode->wb_lock); in afs_cache_wb_key() 120 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_open() local 125 _enter("{%llx:%llu},", vnode->fid.vid, vnode->fid.vnode); in afs_open() 127 key = afs_request_key(vnode->volume->cell); in afs_open() 140 ret = afs_validate(vnode, key); in afs_open() [all …]
|
H A D | write.c | 21 static void afs_pages_written_back(struct afs_vnode *vnode, loff_t start, unsigned int len) in afs_pages_written_back() argument 24 vnode->fid.vid, vnode->fid.vnode, len, start); in afs_pages_written_back() 26 afs_prune_wb_keys(vnode); in afs_pages_written_back() 39 struct afs_vnode *vnode = AFS_FS_I(wreq->inode); in afs_get_writeback_key() local 45 spin_lock(&vnode->wb_lock); in afs_get_writeback_key() 49 wbk = list_first_entry(&vnode->wb_keys, struct afs_wb_key, vnode_link); in afs_get_writeback_key() 51 list_for_each_entry_from(wbk, &vnode->wb_keys, vnode_link) { in afs_get_writeback_key() 62 spin_unlock(&vnode->wb_lock); in afs_get_writeback_key() 69 struct afs_vnode *vnode = op->file[0].vnode; in afs_store_data_success() local 74 afs_pages_written_back(vnode, op->store.pos, op->store.size); in afs_store_data_success() [all …]
|
H A D | callback.c | 31 struct afs_vnode *vnode = container_of(work, struct afs_vnode, cb_work); in afs_invalidate_mmap_work() local 33 unmap_mapping_pages(vnode->netfs.inode.i_mapping, 0, 0, false); in afs_invalidate_mmap_work() 38 struct afs_vnode *vnode; in afs_volume_init_callback() local 42 list_for_each_entry(vnode, &volume->open_mmaps, cb_mmap_link) { in afs_volume_init_callback() 43 if (vnode->cb_v_check != atomic_read(&volume->cb_v_break)) { in afs_volume_init_callback() 44 afs_clear_cb_promise(vnode, afs_cb_promise_clear_vol_init_cb); in afs_volume_init_callback() 45 queue_work(system_unbound_wq, &vnode->cb_work); in afs_volume_init_callback() 77 void __afs_break_callback(struct afs_vnode *vnode, enum afs_cb_break_reason reason) in __afs_break_callback() argument 81 clear_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags); in __afs_break_callback() 82 if (afs_clear_cb_promise(vnode, afs_cb_promise_clear_cb_break)) { in __afs_break_callback() [all …]
|
H A D | validation.c | 120 bool afs_check_validity(const struct afs_vnode *vnode) in afs_check_validity() argument 122 const struct afs_volume *volume = vnode->volume; in afs_check_validity() 124 time64_t cb_expires_at = atomic64_read(&vnode->cb_expires_at); in afs_check_validity() 127 if (test_bit(AFS_VNODE_DELETED, &vnode->flags)) in afs_check_validity() 138 else if (vnode->cb_ro_snapshot != atomic_read(&volume->cb_ro_snapshot)) in afs_check_validity() 140 else if (vnode->cb_scrub != atomic_read(&volume->cb_scrub)) in afs_check_validity() 142 else if (test_bit(AFS_VNODE_ZAP_DATA, &vnode->flags)) in afs_check_validity() 146 trace_afs_vnode_invalid(vnode, trace); in afs_check_validity() 367 static void afs_zap_data(struct afs_vnode *vnode) in afs_zap_data() argument 369 _enter("{%llx:%llu}", vnode->fid.vid, vnode->fid.vnode); in afs_zap_data() [all …]
|
H A D | security.c | 107 void afs_clear_permits(struct afs_vnode *vnode) in afs_clear_permits() argument 111 spin_lock(&vnode->lock); in afs_clear_permits() 112 permits = rcu_dereference_protected(vnode->permit_cache, in afs_clear_permits() 113 lockdep_is_held(&vnode->lock)); in afs_clear_permits() 114 RCU_INIT_POINTER(vnode->permit_cache, NULL); in afs_clear_permits() 115 spin_unlock(&vnode->lock); in afs_clear_permits() 143 void afs_cache_permit(struct afs_vnode *vnode, struct key *key, in afs_cache_permit() argument 153 vnode->fid.vid, vnode->fid.vnode, key_serial(key), caller_access); in afs_cache_permit() 160 permits = rcu_dereference(vnode->permit_cache); in afs_cache_permit() 173 if (afs_cb_is_broken(cb_break, vnode)) { in afs_cache_permit() [all …]
|
H A D | dir_edit.c | 241 void afs_edit_dir_add(struct afs_vnode *vnode, in afs_edit_dir_add() argument 247 struct afs_dir_iter iter = { .dvnode = vnode }; in afs_edit_dir_add() 254 i_size = i_size_read(&vnode->netfs.inode); in afs_edit_dir_add() 257 afs_invalidate_dir(vnode, afs_dir_invalid_edit_add_bad_size); in afs_edit_dir_add() 292 if (!test_bit(AFS_VNODE_DIR_VALID, &vnode->flags)) in afs_edit_dir_add() 305 afs_set_i_size(vnode, (b + 1) * AFS_DIR_BLOCK_SIZE); in afs_edit_dir_add() 323 trace_afs_edit_dir(vnode, why, afs_edit_dir_create_nospc, 0, 0, 0, 0, name->name); in afs_edit_dir_add() 324 afs_invalidate_dir(vnode, afs_dir_invalid_edit_add_no_slots); in afs_edit_dir_add() 330 afs_set_i_size(vnode, i_size); in afs_edit_dir_add() 338 trace_afs_edit_dir(vnode, why, afs_edit_dir_create, b, slot, in afs_edit_dir_add() [all …]
|
H A D | dir.c | 137 dvnode->fid.vid, dvnode->fid.vnode, i_size); in afs_dir_dump() 438 ntohl(dire->u.vnode), in afs_dir_iterate_block() 589 cookie->fid.vnode = ino; in afs_lookup_one_filldir() 628 _leave(" = 0 { vn=%llu u=%u }", fid->vnode, fid->unique); in afs_do_lookup_one() 652 cookie->fids[cookie->nr_fids].vnode = ino; in afs_lookup_filldir() 667 struct afs_vnode *vnode; in afs_do_lookup_success() local 701 if (vp->vnode) { in afs_do_lookup_success() 702 if (!test_bit(AFS_VNODE_UNSET, &vp->vnode->flags)) in afs_do_lookup_success() 707 vnode = AFS_FS_I(inode); in afs_do_lookup_success() 708 afs_cache_permit(vnode, op->key, in afs_do_lookup_success() [all …]
|
H A D | xattr.c | 42 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_xattr_get_acl() local 46 op = afs_alloc_operation(NULL, vnode->volume); in afs_xattr_get_acl() 50 afs_op_set_vnode(op, 0, vnode); in afs_xattr_get_acl() 106 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_xattr_set_acl() local 111 op = afs_alloc_operation(NULL, vnode->volume); in afs_xattr_set_acl() 115 afs_op_set_vnode(op, 0, vnode); in afs_xattr_set_acl() 144 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_xattr_get_yfs() local 169 op = afs_alloc_operation(NULL, vnode->volume); in afs_xattr_get_yfs() 173 afs_op_set_vnode(op, 0, vnode); in afs_xattr_get_yfs() 237 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_xattr_set_yfs() local [all …]
|
H A D | dir_silly.c | 26 struct afs_vnode *dvnode = dvp->vnode; in afs_silly_rename_edit_dir() 27 struct afs_vnode *vnode = AFS_FS_I(d_inode(op->dentry)); in afs_silly_rename_edit_dir() local 45 &vnode->fid, afs_edit_dir_for_silly_1); in afs_silly_rename_edit_dir() 60 static int afs_do_silly_rename(struct afs_vnode *dvnode, struct afs_vnode *vnode, in afs_do_silly_rename() argument 85 trace_afs_silly_rename(vnode, false); in afs_do_silly_rename() 100 int afs_sillyrename(struct afs_vnode *dvnode, struct afs_vnode *vnode, in afs_sillyrename() argument 134 ihold(&vnode->netfs.inode); in afs_sillyrename() 136 ret = afs_do_silly_rename(dvnode, vnode, dentry, sdentry, key); in afs_sillyrename() 140 set_bit(AFS_VNODE_SILLY_DELETED, &vnode->flags); in afs_sillyrename() 151 iput(&vnode->netfs.inode); in afs_sillyrename() [all …]
|
H A D | super.c | 662 struct afs_vnode *vnode = _vnode; in afs_i_init_once() local 664 memset(vnode, 0, sizeof(*vnode)); in afs_i_init_once() 665 inode_init_once(&vnode->netfs.inode); in afs_i_init_once() 666 INIT_LIST_HEAD(&vnode->io_lock_waiters); in afs_i_init_once() 667 init_rwsem(&vnode->validate_lock); in afs_i_init_once() 668 spin_lock_init(&vnode->wb_lock); in afs_i_init_once() 669 spin_lock_init(&vnode->lock); in afs_i_init_once() 670 INIT_LIST_HEAD(&vnode->wb_keys); in afs_i_init_once() 671 INIT_LIST_HEAD(&vnode->pending_locks); in afs_i_init_once() 672 INIT_LIST_HEAD(&vnode->granted_locks); in afs_i_init_once() [all …]
|
H A D | dynroot.c | 31 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_iget5_pseudo_set() local 34 vnode->volume = as->volume; in afs_iget5_pseudo_set() 35 vnode->fid = *fid; in afs_iget5_pseudo_set() 36 inode->i_ino = fid->vnode; in afs_iget5_pseudo_set() 48 struct afs_vnode *vnode; in afs_iget_pseudo_dir() local 57 fid.vnode = 1; in afs_iget_pseudo_dir() 60 fid.vnode = atomic_inc_return(&afs_autocell_ino); in afs_iget_pseudo_dir() 64 inode = iget5_locked(sb, fid.vnode, in afs_iget_pseudo_dir() 72 inode, inode->i_ino, fid.vid, fid.vnode, fid.unique); in afs_iget_pseudo_dir() 74 vnode = AFS_FS_I(inode); in afs_iget_pseudo_dir() [all …]
|
H A D | internal.h | 736 static inline struct fscache_cookie *afs_vnode_cache(struct afs_vnode *vnode) in afs_vnode_cache() argument 739 return netfs_i_cookie(&vnode->netfs); in afs_vnode_cache() 745 static inline void afs_vnode_set_cache(struct afs_vnode *vnode, in afs_vnode_set_cache() argument 749 vnode->netfs.cache = cookie; in afs_vnode_set_cache() 751 mapping_set_release_always(vnode->netfs.inode.i_mapping); in afs_vnode_set_cache() 840 struct afs_vnode *vnode; member 961 static inline void afs_set_cache_aux(struct afs_vnode *vnode, in afs_set_cache_aux() argument 964 aux->data_version = cpu_to_be64(vnode->status.data_version); in afs_set_cache_aux() 967 static inline void afs_invalidate_cache(struct afs_vnode *vnode, unsigned int flags) in afs_invalidate_cache() argument 971 afs_set_cache_aux(vnode, &aux); in afs_invalidate_cache() [all …]
|
H A D | rotate.c | 35 struct afs_vnode *vnode) in afs_start_fs_iteration() argument 77 cb_server = vnode->cb_server; in afs_start_fs_iteration() 99 write_seqlock(&vnode->cb_lock); in afs_start_fs_iteration() 100 ASSERTCMP(cb_server, ==, vnode->cb_server); in afs_start_fs_iteration() 101 vnode->cb_server = NULL; in afs_start_fs_iteration() 102 if (afs_clear_cb_promise(vnode, afs_cb_promise_clear_rotate_server)) in afs_start_fs_iteration() 103 vnode->cb_break++; in afs_start_fs_iteration() 104 write_sequnlock(&vnode->cb_lock); in afs_start_fs_iteration() 156 struct afs_vnode *vnode = op->file[0].vnode; in afs_select_fileserver() local 492 if (!afs_start_fs_iteration(op, vnode)) in afs_select_fileserver() [all …]
|
H A D | fsclient.c | 26 fid->vnode = ntohl(*bp++); in xdr_decode_AFSFid() 279 key_serial(op->key), vp->fid.vid, vp->fid.vnode); in afs_fs_fetch_status() 290 bp[2] = htonl(vp->fid.vnode); in afs_fs_fetch_status() 449 bp[2] = htonl(vp->fid.vnode); in afs_fs_fetch_data64() 484 bp[2] = htonl(vp->fid.vnode); in afs_fs_fetch_data() 557 *bp++ = htonl(dvp->fid.vnode); in afs_fs_create_file() 611 *bp++ = htonl(dvp->fid.vnode); in afs_fs_make_dir() 691 *bp++ = htonl(dvp->fid.vnode); in afs_fs_remove_file() 739 *bp++ = htonl(dvp->fid.vnode); in afs_fs_remove_dir() 817 *bp++ = htonl(dvp->fid.vnode); in afs_fs_link() [all …]
|
H A D | yfsclient.c | 25 fid->vnode = xdr_to_u64(x->vnode.lo); in xdr_decode_YFSFid() 26 fid->vnode_hi = ntohl(x->vnode.hi); in xdr_decode_YFSFid() 27 fid->unique = ntohl(x->vnode.unique); in xdr_decode_YFSFid() 50 x->vnode.lo = u64_to_xdr(fid->vnode); in xdr_encode_YFSFid() 51 x->vnode.hi = htonl(fid->vnode_hi); in xdr_encode_YFSFid() 52 x->vnode.unique = htonl(fid->unique); in xdr_encode_YFSFid() 476 key_serial(op->key), vp->fid.vid, vp->fid.vnode, in yfs_fs_fetch_data() 1093 key_serial(op->key), vp->fid.vid, vp->fid.vnode); in yfs_fs_store_data() 1158 key_serial(op->key), vp->fid.vid, vp->fid.vnode); in yfs_fs_setattr_size() 1201 key_serial(op->key), vp->fid.vid, vp->fid.vnode); in yfs_fs_setattr() [all …]
|
/linux/include/trace/events/ |
H A D | afs.h | 720 __entry->fid.vnode = 0; 728 __entry->fid.vnode, 754 __entry->fid.vnode = 0; 762 __entry->fid.vnode, 789 __entry->fid.vnode = 0; 799 __entry->fid.vnode, 828 __entry->fid.vnode = 0; 840 __entry->fid.vnode, 942 TP_PROTO(struct afs_vnode *vnode, loff_t off), 944 TP_ARGS(vnode, off), [all …]
|
/linux/fs/proc/ |
H A D | bootconfig.c | 28 struct xbc_node *leaf, *vnode; in copy_xbc_key_value_list() local 46 vnode = xbc_node_get_child(leaf); in copy_xbc_key_value_list() 47 if (vnode) { in copy_xbc_key_value_list() 48 xbc_array_for_each_value(vnode, val) { in copy_xbc_key_value_list() 54 q, val, q, xbc_node_is_array(vnode) ? ", " : "\n"); in copy_xbc_key_value_list()
|
/linux/Documentation/translations/zh_CN/admin-guide/ |
H A D | bootconfig.rst | 263 vnode = NULL; 264 xbc_find_value("key.word", &vnode); 265 if (vnode && xbc_node_is_array(vnode)) 266 xbc_array_for_each_value(vnode, value) { 276 value = xbc_node_find_value(root, "option", &vnode);
|
/linux/Documentation/translations/zh_TW/admin-guide/ |
H A D | bootconfig.rst | 263 vnode = NULL; 264 xbc_find_value("key.word", &vnode); 265 if (vnode && xbc_node_is_array(vnode)) 266 xbc_array_for_each_value(vnode, value) { 276 value = xbc_node_find_value(root, "option", &vnode);
|
/linux/tools/bootconfig/ |
H A D | main.c | 39 struct xbc_node *node, *cnode = NULL, *vnode; in xbc_show_compact_tree() local 49 vnode = xbc_node_get_child(cnode); in xbc_show_compact_tree() 61 if (vnode && xbc_node_is_value(vnode) && vnode->next) in xbc_show_compact_tree() 65 cnode = vnode; in xbc_show_compact_tree()
|
/linux/drivers/net/vxlan/ |
H A D | vxlan_vnifilter.c | 23 const struct vxlan_vni_node *vnode = ptr; in vxlan_vni_cmp() local 26 return vnode->vni != vni; in vxlan_vni_cmp() 30 .head_offset = offsetof(struct vxlan_vni_node, vnode), 182 struct vxlan_vni_node *vnode; in vxlan_vnifilter_count() local 188 vnode = vninode; in vxlan_vnifilter_count() 190 vnode = vxlan_vnifilter_lookup(vxlan, vni); in vxlan_vnifilter_count() 191 if (!vnode) in vxlan_vnifilter_count() 195 vxlan_vnifilter_stats_add(vnode, type, len); in vxlan_vnifilter_count() 751 &vninode->vnode, in vxlan_vni_add() 800 &vninode->vnode, in vxlan_vni_del() [all …]
|
/linux/include/linux/ |
H A D | bootconfig.h | 129 struct xbc_node **vnode); 148 xbc_find_value(const char *key, struct xbc_node **vnode) in xbc_find_value() argument 150 return xbc_node_find_value(NULL, key, vnode); in xbc_find_value()
|