Home
last modified time | relevance | path

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

123

/linux-6.15/fs/nfs/
H A Dfscache.c291 netfs = kzalloc(sizeof(*netfs), GFP_KERNEL_ACCOUNT); in nfs_netfs_alloc()
292 if (!netfs) in nfs_netfs_alloc()
294 netfs->sreq = sreq; in nfs_netfs_alloc()
296 return netfs; in nfs_netfs_alloc()
317 if (!netfs) { in nfs_netfs_issue_read()
339 struct nfs_netfs_io_data *netfs = hdr->netfs; in nfs_netfs_initiate_read() local
341 if (!netfs) in nfs_netfs_initiate_read()
362 struct nfs_netfs_io_data *netfs = hdr->netfs; in nfs_netfs_read_completion() local
365 if (!netfs) in nfs_netfs_read_completion()
368 sreq = netfs->sreq; in nfs_netfs_read_completion()
[all …]
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()
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()
151 hdr->netfs = desc->pg_netfs; in nfs_netfs_set_pgio_header()
[all …]
/linux-6.15/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-6.15/fs/afs/
H A Dinode.c256 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()
410 drop_nlink(&vnode->netfs.inode); in afs_vnode_commit_status()
411 if (vnode->netfs.inode.i_nlink == 0) { in afs_vnode_commit_status()
430 if (vnode->netfs.inode.i_state & I_NEW) { in afs_fetch_status_success()
536 vnode->netfs.cache = NULL; in afs_get_inode_cache()
553 i_size_read(&vnode->netfs.inode))); in afs_get_inode_cache()
712 stat->size = vnode->netfs.remote_i_size; in afs_getattr()
[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_dotdot()
582 netfs_single_mark_inode_dirty(&vnode->netfs.inode); in afs_edit_dir_update_dotdot()
612 i_size = i_size_read(&dvnode->netfs.inode); in afs_mkdir_init_dir()
[all …]
H A Ddir.c152 __func__, dvnode->netfs.inode.i_ino, in afs_dir_check_block()
239 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()
893 inode = &op->file[1].vnode->netfs.inode; in afs_do_lookup()
1230 clear_nlink(&vnode->netfs.inode); in afs_check_for_remote_deletion()
1357 clear_nlink(&vnode->netfs.inode); in afs_dir_remove_subdir()
1489 drop_nlink(&vnode->netfs.inode); in afs_dir_remove_link()
1490 if (vnode->netfs.inode.i_nlink == 0) { in afs_dir_remove_link()
1692 ihold(&vp->vnode->netfs.inode); in afs_link_success()
1841 if (S_ISDIR(vnode->netfs.inode.i_mode) && in afs_rename_success()
[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()
293 if (!mapping_tagged(&vnode->netfs.inode.i_data, PAGECACHE_TAG_WRITEBACK) && in afs_prune_wb_keys()
294 !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 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 Dinternal.h678 struct netfs_inode netfs; /* Netfslib context and vfs inode */ member
732 return netfs_i_cookie(&vnode->netfs); in afs_vnode_cache()
742 vnode->netfs.cache = cookie; in afs_vnode_set_cache()
744 mapping_set_release_always(vnode->netfs.inode.i_mapping); in afs_vnode_set_cache()
966 i_size_read(&vnode->netfs.inode), flags); in afs_invalidate_cache()
1260 return afs_i2net(&vnode->netfs.inode); in afs_v2net()
1704 return container_of(inode, struct afs_vnode, netfs.inode); in AFS_FS_I()
1709 return &vnode->netfs.inode; in AFS_VNODE_TO_I()
1732 i_size_write(&vnode->netfs.inode, size); in afs_set_i_size()
1733 vnode->netfs.inode.i_blocks = ((size + 1023) >> 10) << 1; in afs_set_i_size()
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()
262 netfs_inode_init(&vnode->netfs, NULL, false); in afs_lookup_atcell()
387 netfs_inode_init(&vnode->netfs, NULL, false); in afs_dynroot_iget_root()
H A Ddir_silly.c134 ihold(&vnode->netfs.inode); in afs_sillyrename()
151 iput(&vnode->netfs.inode); in afs_sillyrename()
/linux-6.15/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.c413 cifs_inode->netfs.remote_i_size = 0; in cifs_alloc_inode()
430 return &cifs_inode->netfs.inode; in cifs_alloc_inode()
1321 if (src_cifsi->netfs.remote_i_size < off + len) { in cifs_remap_file_range()
1342 if (fend > target_cifsi->netfs.zero_point) in cifs_remap_file_range()
1343 target_cifsi->netfs.zero_point = fend + 1; in cifs_remap_file_range()
1344 old_size = target_cifsi->netfs.remote_i_size; in cifs_remap_file_range()
1363 target_cifsi->netfs.zero_point = new_size; in cifs_remap_file_range()
1434 if (src_cifsi->netfs.remote_i_size < off + len) { in cifs_file_copychunk_range()
1457 netfs_resize_file(&target_cifsi->netfs, in cifs_file_copychunk_range()
1463 target_cifsi->netfs.zero_point = destoff + rc; in cifs_file_copychunk_range()
[all …]
/linux-6.15/Documentation/filesystems/caching/
H A Dfscache.rst25 | | | netfs |-->| |--+
71 FS-Cache does not follow the idea of completely loading every netfs file
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
102 rather to let the netfs remain oblivious.
106 to the netfs; the netfs gets a volume cookie to represent a collection of
136 netfs using an iov_iter.
145 The netfs API to FS-Cache can be found in:
147 Documentation/filesystems/caching/netfs-api.rst
324 /sys/module/netfs/parameters/debug
[all …]
H A Dindex.rst10 netfs-api
/linux-6.15/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.h137 struct netfs_inode netfs; /* Netfslib context and vfs inode */ member
145 return container_of(inode, struct v9fs_inode, netfs.inode); in V9FS_I()
151 return netfs_i_cookie(&v9inode->netfs); in v9fs_inode_cookie()
/linux-6.15/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.c500 struct inode *inode = &ci->netfs.inode; in __cap_set_timeouts()
520 struct inode *inode = &ci->netfs.inode; in __cap_delay_requeue()
547 struct inode *inode = &ci->netfs.inode; in __cap_delay_requeue_front()
566 struct inode *inode = &ci->netfs.inode; in __cap_delay_cancel()
580 struct inode *inode = &ci->netfs.inode; in __check_cap_issue()
591 if (S_ISREG(ci->netfs.inode.i_mode) && in __check_cap_issue()
990 ci->netfs.inode.i_data.nrpages)) in __ceph_caps_used()
1017 if (S_ISDIR(ci->netfs.inode.i_mode)) { in __ceph_caps_file_wanted()
1070 if (S_ISDIR(ci->netfs.inode.i_mode)) { in __ceph_caps_wanted()
4633 inode = igrab(&ci->netfs.inode); in ceph_check_delayed_caps()
[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()
317 struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_cluster_fsid()
325 struct ceph_fs_client *fsc = ceph_sb_to_fs_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_client_id()
574 struct inode *inode = &ci->netfs.inode; in __set_xattr()
674 struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode); in __get_xattr()
742 struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode); in __copy_xattr_names()
766 struct ceph_client *cl = ceph_inode_to_client(&ci->netfs.inode); in __ceph_destroy_xattrs()
883 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()
/linux-6.15/Documentation/filesystems/
H A Dnetfs_library.rst30 access must be provided by the netfs.
37 its use on each netfs inode it is helping to manage. To this end, a context
46 A network filesystem that wants to use netfs lib must place one of these in its
51 struct netfs_inode netfs; /* Netfslib context and vfs inode */
85 then a function to cast from the VFS inode structure to the netfs context::
106 * Insulate the netfs from VM interface changes.
108 * Allow the netfs to arbitrarily split reads up into pieces, even ones that
114 * Allow the netfs to partially fulfil a read, which will then be resubmitted.
197 The above fields are the ones the netfs can use. They are:
593 .. kernel-doc:: include/linux/netfs.h
[all …]

123