Lines Matching refs:vnode
97 int afs_cache_wb_key(struct afs_vnode *vnode, struct afs_file *af)
107 spin_lock(&vnode->wb_lock);
108 list_for_each_entry(p, &vnode->wb_keys, vnode_link) {
114 list_add_tail(&wbk->vnode_link, &vnode->wb_keys);
115 spin_unlock(&vnode->wb_lock);
121 spin_unlock(&vnode->wb_lock);
132 struct afs_vnode *vnode = AFS_FS_I(inode);
137 _enter("{%llx:%llu},", vnode->fid.vid, vnode->fid.vnode);
139 key = afs_request_key(vnode->volume->cell);
152 ret = afs_validate(vnode, key);
157 ret = afs_cache_wb_key(vnode, af);
163 set_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags);
165 fscache_use_cookie(afs_vnode_cache(vnode), file->f_mode & FMODE_WRITE);
186 struct afs_vnode *vnode = AFS_FS_I(inode);
191 _enter("{%llx:%llu},", vnode->fid.vid, vnode->fid.vnode);
201 i_size = i_size_read(&vnode->netfs.inode);
202 afs_set_cache_aux(vnode, &aux);
203 fscache_unuse_cookie(afs_vnode_cache(vnode), &aux, &i_size);
205 fscache_unuse_cookie(afs_vnode_cache(vnode), NULL, NULL);
210 afs_prune_wb_keys(vnode);
263 struct afs_vnode *vnode = op->file[0].vnode;
267 afs_stat_v(vnode, n_fetches);
290 int afs_fetch_data(struct afs_vnode *vnode, struct afs_read *req)
295 vnode->volume->name,
296 vnode->fid.vid,
297 vnode->fid.vnode,
298 vnode->fid.unique,
301 op = afs_alloc_operation(req->key, vnode->volume);
308 afs_op_set_vnode(op, 0, vnode);
317 struct afs_vnode *vnode = AFS_FS_I(subreq->rreq->inode);
328 fsreq->vnode = vnode;
332 &fsreq->vnode->netfs.inode.i_mapping->i_pages,
335 afs_fetch_data(fsreq->vnode, fsreq);
341 struct afs_vnode *vnode = AFS_FS_I(folio->mapping->host);
351 fsreq->vnode = vnode;
356 ret = afs_fetch_data(fsreq->vnode, fsreq);
372 struct afs_vnode *vnode = AFS_FS_I(rreq->inode);
375 afs_vnode_cache(vnode));
384 struct afs_vnode *vnode = AFS_FS_I(file_inode(file));
386 return test_bit(AFS_VNODE_DELETED, &vnode->flags) ? -ESTALE : 0;
415 struct afs_vnode *vnode = AFS_FS_I(folio_inode(folio));
454 trace_afs_folio_dirty(vnode, tracepoint_string("trunc"), folio);
458 trace_afs_folio_dirty(vnode, tracepoint_string("undirty"), folio);
461 trace_afs_folio_dirty(vnode, tracepoint_string("inval"), folio);
490 struct afs_vnode *vnode = AFS_FS_I(folio_inode(folio));
493 vnode->fid.vid, vnode->fid.vnode, folio_index(folio), folio->flags,
504 fscache_note_page_release(afs_vnode_cache(vnode));
508 trace_afs_folio_dirty(vnode, tracepoint_string("rel"), folio);
517 static void afs_add_open_mmap(struct afs_vnode *vnode)
519 if (atomic_inc_return(&vnode->cb_nr_mmap) == 1) {
520 down_write(&vnode->volume->cell->fs_open_mmaps_lock);
522 if (list_empty(&vnode->cb_mmap_link))
523 list_add_tail(&vnode->cb_mmap_link,
524 &vnode->volume->cell->fs_open_mmaps);
526 up_write(&vnode->volume->cell->fs_open_mmaps_lock);
530 static void afs_drop_open_mmap(struct afs_vnode *vnode)
532 if (!atomic_dec_and_test(&vnode->cb_nr_mmap))
535 down_write(&vnode->volume->cell->fs_open_mmaps_lock);
537 if (atomic_read(&vnode->cb_nr_mmap) == 0)
538 list_del_init(&vnode->cb_mmap_link);
540 up_write(&vnode->volume->cell->fs_open_mmaps_lock);
541 flush_work(&vnode->cb_work);
549 struct afs_vnode *vnode = AFS_FS_I(file_inode(file));
552 afs_add_open_mmap(vnode);
558 afs_drop_open_mmap(vnode);
574 struct afs_vnode *vnode = AFS_FS_I(file_inode(vmf->vma->vm_file));
576 if (afs_pagecache_valid(vnode))
583 struct afs_vnode *vnode = AFS_FS_I(file_inode(iocb->ki_filp));
587 ret = afs_validate(vnode, af->key);
598 struct afs_vnode *vnode = AFS_FS_I(file_inode(in));
602 ret = afs_validate(vnode, af->key);