Lines Matching refs:vnode
93 int afs_cache_wb_key(struct afs_vnode *vnode, struct afs_file *af) in afs_cache_wb_key() argument
103 spin_lock(&vnode->wb_lock); in afs_cache_wb_key()
104 list_for_each_entry(p, &vnode->wb_keys, vnode_link) { in afs_cache_wb_key()
110 list_add_tail(&wbk->vnode_link, &vnode->wb_keys); in afs_cache_wb_key()
111 spin_unlock(&vnode->wb_lock); in afs_cache_wb_key()
117 spin_unlock(&vnode->wb_lock); in afs_cache_wb_key()
128 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_open() local
133 _enter("{%llx:%llu},", vnode->fid.vid, vnode->fid.vnode); in afs_open()
135 key = afs_request_key(vnode->volume->cell); in afs_open()
148 ret = afs_validate(vnode, key); in afs_open()
153 ret = afs_cache_wb_key(vnode, af); in afs_open()
159 set_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags); in afs_open()
161 fscache_use_cookie(afs_vnode_cache(vnode), file->f_mode & FMODE_WRITE); in afs_open()
182 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_release() local
187 _enter("{%llx:%llu},", vnode->fid.vid, vnode->fid.vnode); in afs_release()
197 i_size = i_size_read(&vnode->netfs.inode); in afs_release()
198 afs_set_cache_aux(vnode, &aux); in afs_release()
199 fscache_unuse_cookie(afs_vnode_cache(vnode), &aux, &i_size); in afs_release()
201 fscache_unuse_cookie(afs_vnode_cache(vnode), NULL, NULL); in afs_release()
206 afs_prune_wb_keys(vnode); in afs_release()
258 struct afs_vnode *vnode = op->file[0].vnode; in afs_fetch_data_success() local
262 afs_stat_v(vnode, n_fetches); in afs_fetch_data_success()
291 int afs_fetch_data(struct afs_vnode *vnode, struct afs_read *req) in afs_fetch_data() argument
296 vnode->volume->name, in afs_fetch_data()
297 vnode->fid.vid, in afs_fetch_data()
298 vnode->fid.vnode, in afs_fetch_data()
299 vnode->fid.unique, in afs_fetch_data()
302 op = afs_alloc_operation(req->key, vnode->volume); in afs_fetch_data()
309 afs_op_set_vnode(op, 0, vnode); in afs_fetch_data()
319 struct afs_vnode *vnode = AFS_FS_I(subreq->rreq->inode); in afs_read_worker() local
330 fsreq->vnode = vnode; in afs_read_worker()
334 afs_fetch_data(fsreq->vnode, fsreq); in afs_read_worker()
346 struct afs_vnode *vnode = AFS_FS_I(folio->mapping->host); in afs_symlink_read_folio() local
356 fsreq->vnode = vnode; in afs_symlink_read_folio()
361 ret = afs_fetch_data(fsreq->vnode, fsreq); in afs_symlink_read_folio()
380 struct afs_vnode *vnode = AFS_FS_I(file_inode(file)); in afs_check_write_begin() local
382 return test_bit(AFS_VNODE_DELETED, &vnode->flags) ? -ESTALE : 0; in afs_check_write_begin()
393 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_update_i_size() local
396 write_seqlock(&vnode->cb_lock); in afs_update_i_size()
397 i_size = i_size_read(&vnode->netfs.inode); in afs_update_i_size()
399 i_size_write(&vnode->netfs.inode, new_i_size); in afs_update_i_size()
400 inode_set_bytes(&vnode->netfs.inode, new_i_size); in afs_update_i_size()
402 write_sequnlock(&vnode->cb_lock); in afs_update_i_size()
403 fscache_update_cookie(afs_vnode_cache(vnode), NULL, &new_i_size); in afs_update_i_size()
408 struct afs_vnode *vnode = AFS_FS_I(wreq->inode); in afs_netfs_invalidate_cache() local
410 afs_invalidate_cache(vnode, 0); in afs_netfs_invalidate_cache()
426 static void afs_add_open_mmap(struct afs_vnode *vnode) in afs_add_open_mmap() argument
428 if (atomic_inc_return(&vnode->cb_nr_mmap) == 1) { in afs_add_open_mmap()
429 down_write(&vnode->volume->open_mmaps_lock); in afs_add_open_mmap()
431 if (list_empty(&vnode->cb_mmap_link)) in afs_add_open_mmap()
432 list_add_tail(&vnode->cb_mmap_link, &vnode->volume->open_mmaps); in afs_add_open_mmap()
434 up_write(&vnode->volume->open_mmaps_lock); in afs_add_open_mmap()
438 static void afs_drop_open_mmap(struct afs_vnode *vnode) in afs_drop_open_mmap() argument
440 if (atomic_add_unless(&vnode->cb_nr_mmap, -1, 1)) in afs_drop_open_mmap()
443 down_write(&vnode->volume->open_mmaps_lock); in afs_drop_open_mmap()
445 read_seqlock_excl(&vnode->cb_lock); in afs_drop_open_mmap()
448 if (atomic_dec_and_test(&vnode->cb_nr_mmap)) in afs_drop_open_mmap()
449 list_del_init(&vnode->cb_mmap_link); in afs_drop_open_mmap()
450 read_sequnlock_excl(&vnode->cb_lock); in afs_drop_open_mmap()
452 up_write(&vnode->volume->open_mmaps_lock); in afs_drop_open_mmap()
453 flush_work(&vnode->cb_work); in afs_drop_open_mmap()
461 struct afs_vnode *vnode = AFS_FS_I(file_inode(file)); in afs_file_mmap() local
464 afs_add_open_mmap(vnode); in afs_file_mmap()
470 afs_drop_open_mmap(vnode); in afs_file_mmap()
486 struct afs_vnode *vnode = AFS_FS_I(file_inode(vmf->vma->vm_file)); in afs_vm_map_pages() local
488 if (afs_check_validity(vnode)) in afs_vm_map_pages()
496 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_file_read_iter() local
506 ret = afs_validate(vnode, af->key); in afs_file_read_iter()
518 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_file_splice_read() local
525 ret = afs_validate(vnode, af->key); in afs_file_splice_read()