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()
98 ret = afs_fill_page(vnode, key, pos & PAGE_MASK, PAGE_SIZE, page); in afs_write_begin()
122 trace_afs_page_dirty(vnode, tracepoint_string("alrdy"), in afs_write_begin()
130 if (!test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags) && in afs_write_begin()
166 struct afs_vnode *vnode = AFS_FS_I(file_inode(file)); in afs_write_end() local
175 vnode->fid.vid, vnode->fid.vnode, page->index); in afs_write_end()
182 i_size = i_size_read(&vnode->vfs_inode); in afs_write_end()
184 write_seqlock(&vnode->cb_lock); in afs_write_end()
185 i_size = i_size_read(&vnode->vfs_inode); in afs_write_end()
187 afs_set_i_size(vnode, maybe_i_size); in afs_write_end()
188 write_sequnlock(&vnode->cb_lock); in afs_write_end()
197 ret = afs_fill_page(vnode, key, pos + copied, in afs_write_end()
215 trace_afs_page_dirty(vnode, tracepoint_string("dirty+"), in afs_write_end()
220 trace_afs_page_dirty(vnode, tracepoint_string("dirty"), in afs_write_end()
241 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_kill_pages() local
246 vnode->fid.vid, vnode->fid.vnode, first, last); in afs_kill_pages()
284 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_redirty_pages() local
289 vnode->fid.vid, vnode->fid.vnode, first, last); in afs_redirty_pages()
320 static void afs_pages_written_back(struct afs_vnode *vnode, in afs_pages_written_back() argument
328 vnode->fid.vid, vnode->fid.vnode, first, last); in afs_pages_written_back()
338 pv.nr = find_get_pages_contig(vnode->vfs_inode.i_mapping, in afs_pages_written_back()
344 trace_afs_page_dirty(vnode, tracepoint_string("clear"), in afs_pages_written_back()
352 afs_prune_wb_keys(vnode); in afs_pages_written_back()
361 static int afs_get_writeback_key(struct afs_vnode *vnode, in afs_get_writeback_key() argument
368 spin_lock(&vnode->wb_lock); in afs_get_writeback_key()
372 p = vnode->wb_keys.next; in afs_get_writeback_key()
374 while (p != &vnode->wb_keys) { in afs_get_writeback_key()
390 spin_unlock(&vnode->wb_lock); in afs_get_writeback_key()
399 struct afs_vnode *vnode = op->file[0].vnode; in afs_store_data_success() local
405 afs_pages_written_back(vnode, op->store.first, op->store.last); in afs_store_data_success()
406 afs_stat_v(vnode, n_stores); in afs_store_data_success()
409 &afs_v2net(vnode)->n_store_bytes); in afs_store_data_success()
426 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_store_data() local
432 vnode->volume->name, in afs_store_data()
433 vnode->fid.vid, in afs_store_data()
434 vnode->fid.vnode, in afs_store_data()
435 vnode->fid.unique, in afs_store_data()
438 ret = afs_get_writeback_key(vnode, &wbk); in afs_store_data()
444 op = afs_alloc_operation(wbk->key, vnode->volume); in afs_store_data()
450 afs_op_set_vnode(op, 0, vnode); in afs_store_data()
459 op->mtime = vnode->vfs_inode.i_mtime; in afs_store_data()
476 ret = afs_get_writeback_key(vnode, &wbk); in afs_store_data()
499 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_write_back_from_locked_page() local
522 trace_afs_page_dirty(vnode, tracepoint_string("store"), in afs_write_back_from_locked_page()
527 trace_afs_page_dirty(vnode, tracepoint_string("WARN"), in afs_write_back_from_locked_page()
531 (to < PAGE_SIZE && !test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags))) in afs_write_back_from_locked_page()
554 !test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags)) in afs_write_back_from_locked_page()
569 !test_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags)) { in afs_write_back_from_locked_page()
575 trace_afs_page_dirty(vnode, tracepoint_string("store+"), in afs_write_back_from_locked_page()
606 i_size = i_size_read(&vnode->vfs_inode); in afs_write_back_from_locked_page()
644 trace_afs_file_error(vnode, ret, afs_file_error_writeback_fail); in afs_write_back_from_locked_page()
749 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_writepages() local
760 down_read(&vnode->validate_lock); in afs_writepages()
761 else if (!down_read_trylock(&vnode->validate_lock)) in afs_writepages()
783 up_read(&vnode->validate_lock); in afs_writepages()
793 struct afs_vnode *vnode = AFS_FS_I(file_inode(iocb->ki_filp)); in afs_file_write() local
798 vnode->fid.vid, vnode->fid.vnode, count); in afs_file_write()
800 if (IS_SWAPFILE(&vnode->vfs_inode)) { in afs_file_write()
823 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_fsync() local
826 vnode->fid.vid, vnode->fid.vnode, file, in afs_fsync()
840 struct afs_vnode *vnode = AFS_FS_I(inode); in afs_page_mkwrite() local
844 vnode->fid.vid, vnode->fid.vnode, vmf->page->index); in afs_page_mkwrite()
852 fscache_wait_on_page_write(vnode->cache, vmf->page); in afs_page_mkwrite()
870 trace_afs_page_dirty(vnode, tracepoint_string("mkwrite"), in afs_page_mkwrite()
885 void afs_prune_wb_keys(struct afs_vnode *vnode) in afs_prune_wb_keys() argument
891 spin_lock(&vnode->wb_lock); in afs_prune_wb_keys()
893 if (!mapping_tagged(&vnode->vfs_inode.i_data, PAGECACHE_TAG_WRITEBACK) && in afs_prune_wb_keys()
894 !mapping_tagged(&vnode->vfs_inode.i_data, PAGECACHE_TAG_DIRTY)) { in afs_prune_wb_keys()
895 list_for_each_entry_safe(wbk, tmp, &vnode->wb_keys, vnode_link) { in afs_prune_wb_keys()
901 spin_unlock(&vnode->wb_lock); in afs_prune_wb_keys()
916 struct afs_vnode *vnode = AFS_FS_I(mapping->host); in afs_launder_page() local
932 trace_afs_page_dirty(vnode, tracepoint_string("launder"), in afs_launder_page()
938 trace_afs_page_dirty(vnode, tracepoint_string("laundered"), in afs_launder_page()
943 fscache_wait_on_page_write(vnode->cache, page); in afs_launder_page()
944 fscache_uncache_page(vnode->cache, page); in afs_launder_page()