Home
last modified time | relevance | path

Searched refs:netfs (Results 1 – 25 of 54) sorted by relevance

123

/linux/fs/nfs/
H A Dfscache.h56 static inline void nfs_netfs_get(struct nfs_netfs_io_data *netfs) in nfs_netfs_get() argument
58 refcount_inc(&netfs->refcount); in nfs_netfs_get()
61 static inline void nfs_netfs_put(struct nfs_netfs_io_data *netfs) in nfs_netfs_put() argument
64 if (!refcount_dec_and_test(&netfs->refcount)) in nfs_netfs_put()
75 netfs->sreq->transferred = min_t(s64, netfs->sreq->len, in nfs_netfs_put()
76 atomic64_read(&netfs->transferred)); in nfs_netfs_put()
77 netfs->sreq->error = netfs->error; in nfs_netfs_put()
78 netfs_read_subreq_terminated(netfs->sreq); in nfs_netfs_put()
79 kfree(netfs); in nfs_netfs_put()
83 netfs_inode_init(&nfsi->netfs, &nfs_netfs_ops, false); in nfs_netfs_inode_init()
[all …]
/linux/fs/netfs/
H A DMakefile3 netfs-y := \
22 netfs-$(CONFIG_NETFS_STATS) += stats.o
24 netfs-$(CONFIG_FSCACHE) += \
32 netfs-$(CONFIG_FSCACHE) += fscache_proc.o
34 netfs-$(CONFIG_FSCACHE_STATS) += fscache_stats.o
36 obj-$(CONFIG_NETFS_SUPPORT) += netfs.o
/linux/fs/afs/
H A Dinode.c35 mapping_gfp_mask(vnode->netfs.inode.i_mapping)) < 0) in afs_init_new_symlink()
43 netfs_single_mark_inode_dirty(&vnode->netfs.inode); in afs_init_new_symlink()
147 netfs_inode_init(&vnode->netfs, &afs_req_ops, true); in afs_set_netfs_context()
184 set_nlink(&vnode->netfs.inode, status->nlink); in afs_inode_init_from_status()
199 __set_bit(NETFS_ICTX_SINGLE_NO_UPLOAD, &vnode->netfs.flags); in afs_inode_init_from_status()
232 inode_set_iversion_raw(&vnode->netfs.inode, status->data_version); in afs_inode_init_from_status()
256 struct inode *inode = &vnode->netfs.inode; in afs_apply_status()
346 vnode->netfs.remote_i_size = status->size; in afs_apply_status()
350 vnode->netfs.zero_point = status->size; in afs_apply_status()
393 clear_nlink(&vnode->netfs.inode); in afs_vnode_commit_status()
[all …]
H A Ddir_edit.c125 mapping_gfp_mask(dvnode->netfs.inode.i_mapping)); in afs_dir_get_block()
254 i_size = i_size_read(&vnode->netfs.inode); in afs_edit_dir_add()
363 inode_inc_iversion_raw(&vnode->netfs.inode); in afs_edit_dir_add()
367 netfs_single_mark_inode_dirty(&vnode->netfs.inode); in afs_edit_dir_add()
407 i_size = i_size_read(&vnode->netfs.inode); in afs_edit_dir_remove()
499 netfs_single_mark_inode_dirty(&vnode->netfs.inode); in afs_edit_dir_remove()
501 inode_set_iversion_raw(&vnode->netfs.inode, vnode->status.data_version); in afs_edit_dir_remove()
540 i_size = i_size_read(&vnode->netfs.inode); in afs_edit_dir_update()
582 netfs_single_mark_inode_dirty(&vnode->netfs.inode); in afs_edit_dir_update()
583 inode_set_iversion_raw(&vnode->netfs.inode, vnode->status.data_version); in afs_edit_dir_update()
[all …]
H A Ddir.c100 loff_t i_size = i_size_read(&dvnode->netfs.inode); in afs_dir_unuse_cookie()
134 unsigned long long i_size = i_size_read(&dvnode->netfs.inode); in afs_dir_dump()
152 __func__, dvnode->netfs.inode.i_ino, in afs_dir_check_block()
196 unsigned long long i_size = i_size_read(&dvnode->netfs.inode); in afs_dir_check()
236 bool is_dir = (S_ISDIR(dvnode->netfs.inode.i_mode) && in afs_do_read_single()
239 i_size = i_size_read(&dvnode->netfs.inode); in afs_do_read_single()
260 mapping_gfp_mask(dvnode->netfs.inode.i_mapping)); in afs_do_read_single()
272 ret = netfs_read_single(&dvnode->netfs.inode, file, &iter); in afs_do_read_single()
274 i_size = i_size_read(&dvnode->netfs.inode); in afs_do_read_single()
317 i_size = i_size_read(&dvnode->netfs.inode); in afs_read_dir()
[all …]
H A Dwrite.c146 op->store.i_size = umax(pos + len, vnode->netfs.remote_i_size); in afs_issue_write_worker()
147 op->mtime = inode_get_mtime(&vnode->netfs.inode); in afs_issue_write_worker()
294 if (!mapping_tagged(&vnode->netfs.inode.i_data, PAGECACHE_TAG_WRITEBACK) && in afs_prune_wb_keys()
295 !mapping_tagged(&vnode->netfs.inode.i_data, PAGECACHE_TAG_DIRTY)) { in afs_prune_wb_keys()
H A Ddir_search.c42 unsigned long long i_size = i_size_read(&iter->dvnode->netfs.inode); in afs_dir_reset_iter()
197 _enter("{%lu},,,", dvnode->netfs.inode.i_ino); in afs_dir_search()
217 *_dir_version = inode_peek_iversion_raw(&dvnode->netfs.inode); in afs_dir_search()
H A Dvalidation.c376 if (S_ISREG(vnode->netfs.inode.i_mode)) in afs_zap_data()
377 filemap_invalidate_inode(&vnode->netfs.inode, true, 0, LLONG_MAX); in afs_zap_data()
379 filemap_invalidate_inode(&vnode->netfs.inode, false, 0, LLONG_MAX); in afs_zap_data()
432 unmap_mapping_pages(vnode->netfs.inode.i_mapping, 0, 0, false); in afs_validate()
H A Dinternal.h688 struct netfs_inode netfs; /* Netfslib context and vfs inode */ member
742 return netfs_i_cookie(&vnode->netfs); in afs_vnode_cache()
752 vnode->netfs.cache = cookie; in afs_vnode_set_cache()
754 mapping_set_release_always(vnode->netfs.inode.i_mapping); in afs_vnode_set_cache()
977 i_size_read(&vnode->netfs.inode), flags); in afs_invalidate_cache()
1293 return afs_i2net(&vnode->netfs.inode); in afs_v2net()
1740 return container_of(inode, struct afs_vnode, netfs.inode); in AFS_FS_I()
1745 return &vnode->netfs.inode; in AFS_VNODE_TO_I()
1768 i_size_write(&vnode->netfs.inode, size); in afs_set_i_size()
1769 vnode->netfs.inode.i_blocks = ((size + 1023) >> 10) << 1; in afs_set_i_size()
H A Dfs_operation.c343 iput(&op->file[0].vnode->netfs.inode); in afs_put_operation()
345 iput(&op->file[1].vnode->netfs.inode); in afs_put_operation()
350 iput(&op->more_files[i].vnode->netfs.inode); in afs_put_operation()
H A Dfile.c189 i_size = i_size_read(&vnode->netfs.inode); in afs_release()
433 i_size = i_size_read(&vnode->netfs.inode); in afs_update_i_size()
435 i_size_write(&vnode->netfs.inode, new_i_size); in afs_update_i_size()
436 inode_set_bytes(&vnode->netfs.inode, new_i_size); in afs_update_i_size()
H A Ddynroot.c68 netfs_inode_init(&vnode->netfs, NULL, false); in afs_iget_pseudo_dir()
263 netfs_inode_init(&vnode->netfs, NULL, false); in afs_lookup_atcell()
388 netfs_inode_init(&vnode->netfs, NULL, false); in afs_dynroot_iget_root()
H A Ddir_silly.c143 ihold(&vnode->netfs.inode); in afs_sillyrename()
160 iput(&vnode->netfs.inode); in afs_sillyrename()
/linux/Documentation/filesystems/caching/
H A Dfscache.rst25 | | | netfs |-->| |--+
71 FS-Cache does not follow the idea of completely loading every netfs file
73 then serving the pages out of that cache rather than the netfs inode because:
87 It instead serves the cache out in chunks as and when requested by the netfs
98 * The netfs is provided with an interface that allows either party to
101 * The interface to the netfs returns as few errors as possible, preferring
102 rather to let the netfs remain oblivious.
106 to the netfs; the netfs gets a volume cookie to represent a collection of
107 files (typically something that a netfs would get for a superblock); and
136 netfs using an iov_iter.
[all …]
H A Dindex.rst10 netfs-api
H A Dbackend-api.rst206 * FSCACHE_COOKIE_LOCAL_WRITE - The netfs's data has been modified
328 called when the cookie is relinquished by the netfs, withdrawn or culled
345 the netfs file due to local truncation. The cache backend should make all
347 netfs inode mutex.
350 withdrawal and the netfs must have the cookie marked in-use to prevent
384 * Begin an operation for the netfs lib [mandatory]::
416 A cache backend provides a data I/O API by through the netfs library's ``struct
/linux/fs/smb/client/
H A Dfscache.c138 cifs_fscache_fill_coherency(&cifsi->netfs.inode, &cd); in cifs_fscache_get_inode_cookie()
140 cifsi->netfs.cache = in cifs_fscache_get_inode_cookie()
144 i_size_read(&cifsi->netfs.inode)); in cifs_fscache_get_inode_cookie()
145 if (cifsi->netfs.cache) in cifs_fscache_get_inode_cookie()
170 cifsi->netfs.cache = NULL; in cifs_fscache_release_inode_cookie()
H A Dcifsfs.c468 cifs_inode->netfs.inode.i_blkbits = 14; /* 2**14 = CIFS_MAX_MSGSIZE */ in cifs_alloc_inode()
469 cifs_inode->netfs.remote_i_size = 0; in cifs_alloc_inode()
486 return &cifs_inode->netfs.inode; in cifs_alloc_inode()
1284 netfs_resize_file(&src_cifsi->netfs, src_end, true); in cifs_precopy_set_eof()
1380 if (src_cifsi->netfs.remote_i_size < off + len) { in cifs_remap_file_range()
1401 if (fend > target_cifsi->netfs.zero_point) in cifs_remap_file_range()
1402 target_cifsi->netfs.zero_point = fend + 1; in cifs_remap_file_range()
1403 old_size = target_cifsi->netfs.remote_i_size; in cifs_remap_file_range()
1435 if (rc == 0 && new_size > target_cifsi->netfs.zero_point) in cifs_remap_file_range()
1436 target_cifsi->netfs.zero_point = new_size; in cifs_remap_file_range()
[all …]
H A Dfscache.h65 return netfs_i_cookie(&CIFS_I(inode)->netfs); in cifs_inode_cookie()
/linux/fs/9p/
H A Dcache.c65 v9inode->netfs.cache = in v9fs_cache_inode_get_cookie()
70 i_size_read(&v9inode->netfs.inode)); in v9fs_cache_inode_get_cookie()
71 if (v9inode->netfs.cache) in v9fs_cache_inode_get_cookie()
H A Dv9fs.h140 struct netfs_inode netfs; /* Netfslib context and vfs inode */ member
148 return container_of(inode, struct v9fs_inode, netfs.inode); in V9FS_I()
154 return netfs_i_cookie(&v9inode->netfs); in v9fs_inode_cookie()
/linux/fs/ceph/
H A Dcache.c32 WARN_ON_ONCE(ci->netfs.cache); in ceph_fscache_register_inode_cookie()
34 ci->netfs.cache = in ceph_fscache_register_inode_cookie()
39 if (ci->netfs.cache) in ceph_fscache_register_inode_cookie()
H A Dcaps.c501 struct inode *inode = &ci->netfs.inode; in __cap_set_timeouts()
521 struct inode *inode = &ci->netfs.inode; in __cap_delay_requeue()
548 struct inode *inode = &ci->netfs.inode; in __cap_delay_requeue_front()
567 struct inode *inode = &ci->netfs.inode; in __cap_delay_cancel()
581 struct inode *inode = &ci->netfs.inode; in __check_cap_issue()
592 if (S_ISREG(ci->netfs.inode.i_mode) && in __check_cap_issue()
607 if (S_ISDIR(ci->netfs.inode.i_mode)) { in __check_cap_issue()
614 if (S_ISDIR(ci->netfs.inode.i_mode) && (had & CEPH_CAP_DIR_CREATE) && in __check_cap_issue()
790 struct inode *inode = &cap->ci->netfs.inode; in __cap_is_valid()
815 struct inode *inode = &ci->netfs.inode; in __ceph_caps_issued()
[all …]
H A Dxattr.c60 struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_layout()
73 doutc(cl, "%p\n", &ci->netfs.inode); in ceph_vxattrcb_layout()
165 struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_layout_pool()
315 struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_cluster_fsid()
323 struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_client_id()
572 struct inode *inode = &ci->netfs.inode; in __set_xattr()
672 struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode); in __get_xattr()
740 struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode); in __copy_xattr_names()
764 struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode); in __ceph_destroy_xattrs()
881 struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode); in __get_required_blob_size()
[all …]
H A Dcache.h31 return netfs_i_cookie(&ci->netfs); in ceph_fscache_cookie()

123