Lines Matching refs:vnode

28 static int afs_fill_page(struct afs_vnode *vnode, struct key *key,  in afs_fill_page()  argument
38 if (pos >= vnode->vfs_inode.i_size) { in afs_fill_page()
59 ret = afs_fetch_data(vnode, key, req); in afs_fill_page()
65 set_bit(AFS_VNODE_DELETED, &vnode->flags); in afs_fill_page()
81 struct afs_vnode *vnode = AFS_FS_I(file_inode(file)); in afs_write_begin() local
91 vnode->fid.vid, vnode->fid.vnode, index, from, to); in afs_write_begin()
103 ret = afs_fill_page(vnode, key, pos & PAGE_MASK, PAGE_SIZE, page); in afs_write_begin()
130 trace_afs_page_dirty(vnode, tracepoint_string("alrdy"), in afs_write_begin()
138 if (!test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags) && in afs_write_begin()
152 trace_afs_page_dirty(vnode, tracepoint_string("begin"), in afs_write_begin()
185 struct afs_vnode *vnode = AFS_FS_I(file_inode(file)); in afs_write_end() local
191 vnode->fid.vid, vnode->fid.vnode, page->index); in afs_write_end()
195 i_size = i_size_read(&vnode->vfs_inode); in afs_write_end()
197 spin_lock(&vnode->wb_lock); in afs_write_end()
198 i_size = i_size_read(&vnode->vfs_inode); in afs_write_end()
200 i_size_write(&vnode->vfs_inode, maybe_i_size); in afs_write_end()
201 spin_unlock(&vnode->wb_lock); in afs_write_end()
210 ret = afs_fill_page(vnode, key, pos + copied, in afs_write_end()
235 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_kill_pages() local
240 vnode->fid.vid, vnode->fid.vnode, first, last); in afs_kill_pages()
278 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_redirty_pages() local
283 vnode->fid.vid, vnode->fid.vnode, first, last); in afs_redirty_pages()
314 static void afs_pages_written_back(struct afs_vnode *vnode, in afs_pages_written_back() argument
322 vnode->fid.vid, vnode->fid.vnode, first, last); in afs_pages_written_back()
332 pv.nr = find_get_pages_contig(vnode->vfs_inode.i_mapping, in afs_pages_written_back()
338 trace_afs_page_dirty(vnode, tracepoint_string("clear"), in afs_pages_written_back()
347 afs_prune_wb_keys(vnode); in afs_pages_written_back()
358 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_store_data() local
366 vnode->volume->name, in afs_store_data()
367 vnode->fid.vid, in afs_store_data()
368 vnode->fid.vnode, in afs_store_data()
369 vnode->fid.unique, in afs_store_data()
376 spin_lock(&vnode->wb_lock); in afs_store_data()
377 p = vnode->wb_keys.next; in afs_store_data()
381 while (p != &vnode->wb_keys) { in afs_store_data()
392 spin_unlock(&vnode->wb_lock); in afs_store_data()
400 spin_unlock(&vnode->wb_lock); in afs_store_data()
405 if (afs_begin_vnode_operation(&fc, vnode, wbk->key, false)) { in afs_store_data()
406 afs_dataversion_t data_version = vnode->status.data_version + 1; in afs_store_data()
409 fc.cb_break = afs_calc_vnode_cb_break(vnode); in afs_store_data()
413 afs_check_for_remote_deletion(&fc, vnode); in afs_store_data()
414 afs_vnode_commit_status(&fc, vnode, fc.cb_break, in afs_store_data()
417 afs_pages_written_back(vnode, first, last); in afs_store_data()
423 afs_stat_v(vnode, n_stores); in afs_store_data()
426 &afs_v2net(vnode)->n_store_bytes); in afs_store_data()
435 spin_lock(&vnode->wb_lock); in afs_store_data()
456 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_write_back_from_locked_page() local
478 trace_afs_page_dirty(vnode, tracepoint_string("store"), in afs_write_back_from_locked_page()
483 trace_afs_page_dirty(vnode, tracepoint_string("WARN"), in afs_write_back_from_locked_page()
487 (to < PAGE_SIZE && !test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags))) in afs_write_back_from_locked_page()
510 !test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags)) in afs_write_back_from_locked_page()
525 !test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags)) { in afs_write_back_from_locked_page()
531 trace_afs_page_dirty(vnode, tracepoint_string("store+"), in afs_write_back_from_locked_page()
595 trace_afs_file_error(vnode, ret, afs_file_error_writeback_fail); in afs_write_back_from_locked_page()
733 struct afs_vnode *vnode = AFS_FS_I(file_inode(iocb->ki_filp)); in afs_file_write() local
738 vnode->fid.vid, vnode->fid.vnode, count); in afs_file_write()
740 if (IS_SWAPFILE(&vnode->vfs_inode)) { in afs_file_write()
763 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_fsync() local
766 vnode->fid.vid, vnode->fid.vnode, file, in afs_fsync()
780 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_page_mkwrite() local
784 vnode->fid.vid, vnode->fid.vnode, vmf->page->index); in afs_page_mkwrite()
792 fscache_wait_on_page_write(vnode->cache, vmf->page); in afs_page_mkwrite()
810 trace_afs_page_dirty(vnode, tracepoint_string("mkwrite"), in afs_page_mkwrite()
822 void afs_prune_wb_keys(struct afs_vnode *vnode) in afs_prune_wb_keys() argument
828 spin_lock(&vnode->wb_lock); in afs_prune_wb_keys()
830 if (!mapping_tagged(&vnode->vfs_inode.i_data, PAGECACHE_TAG_WRITEBACK) && in afs_prune_wb_keys()
831 !mapping_tagged(&vnode->vfs_inode.i_data, PAGECACHE_TAG_DIRTY)) { in afs_prune_wb_keys()
832 list_for_each_entry_safe(wbk, tmp, &vnode->wb_keys, vnode_link) { in afs_prune_wb_keys()
838 spin_unlock(&vnode->wb_lock); in afs_prune_wb_keys()
853 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_launder_page() local
869 trace_afs_page_dirty(vnode, tracepoint_string("launder"), in afs_launder_page()
874 trace_afs_page_dirty(vnode, tracepoint_string("laundered"), in afs_launder_page()
881 fscache_wait_on_page_write(vnode->cache, page); in afs_launder_page()
882 fscache_uncache_page(vnode->cache, page); in afs_launder_page()