/linux-6.3-rc2/fs/netfs/ |
A D | Makefile | 3 netfs-y := \ 10 netfs-$(CONFIG_NETFS_STATS) += stats.o 12 obj-$(CONFIG_NETFS_SUPPORT) := netfs.o
|
/linux-6.3-rc2/fs/cifs/ |
A D | fscache.h | 55 cd->last_write_time_sec = cpu_to_le64(cifsi->netfs.inode.i_mtime.tv_sec); in cifs_fscache_fill_coherency() 56 cd->last_write_time_nsec = cpu_to_le32(cifsi->netfs.inode.i_mtime.tv_nsec); in cifs_fscache_fill_coherency() 57 cd->last_change_time_sec = cpu_to_le64(cifsi->netfs.inode.i_ctime.tv_sec); in cifs_fscache_fill_coherency() 58 cd->last_change_time_nsec = cpu_to_le32(cifsi->netfs.inode.i_ctime.tv_nsec); in cifs_fscache_fill_coherency() 64 return netfs_i_cookie(&CIFS_I(inode)->netfs); in cifs_inode_cookie()
|
A D | fscache.c | 104 cifs_fscache_fill_coherency(&cifsi->netfs.inode, &cd); in cifs_fscache_get_inode_cookie() 106 cifsi->netfs.cache = in cifs_fscache_get_inode_cookie() 110 i_size_read(&cifsi->netfs.inode)); in cifs_fscache_get_inode_cookie() 134 cifsi->netfs.cache = NULL; in cifs_fscache_release_inode_cookie()
|
/linux-6.3-rc2/fs/afs/ |
A D | inode.c | 61 netfs_inode_init(&vnode->netfs, &afs_req_ops); in afs_set_netfs_context() 168 struct inode *inode = &vnode->netfs.inode; in afs_apply_status() 251 vnode->netfs.remote_i_size = status->size; in afs_apply_status() 294 clear_nlink(&vnode->netfs.inode); in afs_vnode_commit_status() 311 drop_nlink(&vnode->netfs.inode); in afs_vnode_commit_status() 312 if (vnode->netfs.inode.i_nlink == 0) { in afs_vnode_commit_status() 331 if (vnode->netfs.inode.i_state & I_NEW) { in afs_fetch_status_success() 435 vnode->netfs.cache = NULL; in afs_get_inode_cache() 587 if (S_ISREG(vnode->netfs.inode.i_mode)) in afs_zap_data() 688 if (vnode->netfs.inode.i_nlink) in afs_validate() [all …]
|
A D | write.c | 87 ret = netfs_write_begin(&vnode->netfs, file, mapping, pos, len, &folio, fsdata); in afs_write_begin() 181 i_size = i_size_read(&vnode->netfs.inode); in afs_write_end() 184 i_size = i_size_read(&vnode->netfs.inode); in afs_write_end() 292 struct address_space *mapping = vnode->netfs.inode.i_mapping; in afs_pages_written_back() 419 op->store.i_size = max(pos + size, vnode->netfs.remote_i_size); in afs_store_data() 421 op->mtime = vnode->netfs.inode.i_mtime; in afs_store_data() 588 loff_t i_size = i_size_read(&vnode->netfs.inode); in afs_write_back_from_locked_folio() 860 if (IS_SWAPFILE(&vnode->netfs.inode)) { in afs_file_write() 973 if (!mapping_tagged(&vnode->netfs.inode.i_data, PAGECACHE_TAG_WRITEBACK) && in afs_prune_wb_keys() 974 !mapping_tagged(&vnode->netfs.inode.i_data, PAGECACHE_TAG_DIRTY)) { in afs_prune_wb_keys() [all …]
|
A D | dir_edit.c | 112 struct address_space *mapping = vnode->netfs.inode.i_mapping; in afs_dir_get_folio() 219 i_size = i_size_read(&vnode->netfs.inode); in afs_edit_dir_add() 339 inode_inc_iversion_raw(&vnode->netfs.inode); in afs_edit_dir_add() 386 i_size = i_size_read(&vnode->netfs.inode); in afs_edit_dir_remove() 466 inode_set_iversion_raw(&vnode->netfs.inode, vnode->status.data_version); in afs_edit_dir_remove()
|
A D | fs_operation.c | 235 iput(&op->file[0].vnode->netfs.inode); in afs_put_operation() 237 iput(&op->file[1].vnode->netfs.inode); in afs_put_operation() 242 iput(&op->more_files[i].vnode->netfs.inode); in afs_put_operation()
|
A D | dir.c | 157 __func__, dvnode->netfs.inode.i_ino, in afs_dir_check_folio() 187 struct address_space *mapping = dvnode->netfs.inode.i_mapping; in afs_dir_dump() 221 struct address_space *mapping = dvnode->netfs.inode.i_mapping; in afs_dir_check() 291 i_size = i_size_read(&dvnode->netfs.inode); in afs_read_dir() 898 inode = &op->file[1].vnode->netfs.inode; in afs_do_lookup() 1171 vnode->netfs.inode.i_generation); in afs_d_revalidate() 1369 clear_nlink(&vnode->netfs.inode); in afs_dir_remove_subdir() 1488 drop_nlink(&vnode->netfs.inode); in afs_dir_remove_link() 1489 if (vnode->netfs.inode.i_nlink == 0) { in afs_dir_remove_link() 1681 ihold(&vp->vnode->netfs.inode); in afs_link_success() [all …]
|
A D | internal.h | 622 struct netfs_inode netfs; /* Netfslib context and vfs inode */ member 673 return netfs_i_cookie(&vnode->netfs); in afs_vnode_cache() 683 vnode->netfs.cache = cookie; in afs_vnode_set_cache() 890 i_size_read(&vnode->netfs.inode), flags); in afs_invalidate_cache() 1208 return afs_i2net(&vnode->netfs.inode); in afs_v2net() 1583 return container_of(inode, struct afs_vnode, netfs.inode); in AFS_FS_I() 1588 return &vnode->netfs.inode; in AFS_VNODE_TO_I() 1611 i_size_write(&vnode->netfs.inode, size); in afs_set_i_size() 1612 vnode->netfs.inode.i_blocks = ((size + 1023) >> 10) << 1; in afs_set_i_size()
|
A D | dir_silly.c | 134 ihold(&vnode->netfs.inode); in afs_sillyrename() 151 iput(&vnode->netfs.inode); in afs_sillyrename()
|
A D | super.c | 662 inode_init_once(&vnode->netfs.inode); in afs_i_init_once() 703 _leave(" = %p", &vnode->netfs.inode); in afs_alloc_inode() 704 return &vnode->netfs.inode; in afs_alloc_inode()
|
A D | callback.c | 33 unmap_mapping_pages(vnode->netfs.inode.i_mapping, 0, 0, false); in afs_invalidate_mmap_work()
|
/linux-6.3-rc2/Documentation/filesystems/caching/ |
A D | fscache.rst | 25 | | | 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 136 netfs using an iov_iter. 145 The netfs API to FS-Cache can be found in: [all …]
|
A D | index.rst | 10 netfs-api
|
A D | backend-api.rst | 206 * 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-6.3-rc2/fs/9p/ |
A D | v9fs.h | 112 struct netfs_inode netfs; /* Netfslib context and vfs inode */ member 121 return container_of(inode, struct v9fs_inode, netfs.inode); in V9FS_I() 127 return netfs_i_cookie(&v9inode->netfs); in v9fs_inode_cookie()
|
A D | cache.c | 65 v9inode->netfs.cache = in v9fs_cache_inode_get_cookie() 70 i_size_read(&v9inode->netfs.inode)); in v9fs_cache_inode_get_cookie()
|
A D | vfs_addr.c | 154 i_size_read(&v9inode->netfs.inode), 0); in v9fs_write_to_cache_done() 286 retval = netfs_write_begin(&v9inode->netfs, filp, mapping, pos, len, &folio, fsdata); in v9fs_write_begin()
|
/linux-6.3-rc2/fs/ceph/ |
A D | caps.c | 572 if (S_ISREG(ci->netfs.inode.i_mode) && in __check_cap_issue() 587 if (S_ISDIR(ci->netfs.inode.i_mode)) { in __check_cap_issue() 955 struct inode *inode = &ci->netfs.inode; in ceph_caps_revoking() 975 ci->netfs.inode.i_data.nrpages)) in __ceph_caps_used() 1002 if (S_ISDIR(ci->netfs.inode.i_mode)) { in __ceph_caps_file_wanted() 1055 if (S_ISDIR(ci->netfs.inode.i_mode)) { in __ceph_caps_wanted() 2653 ihold(&ci->netfs.inode); in ceph_take_cap_refs() 3683 i_flushing_item)->netfs.inode); in handle_cap_flush_ack() 4340 inode = igrab(&ci->netfs.inode); in ceph_check_delayed_caps() 4368 inode = &ci->netfs.inode; in flush_dirty_session_caps() [all …]
|
A D | cache.c | 32 WARN_ON_ONCE(ci->netfs.cache); in ceph_fscache_register_inode_cookie() 34 ci->netfs.cache = in ceph_fscache_register_inode_cookie()
|
A D | cache.h | 31 return netfs_i_cookie(&ci->netfs); in ceph_fscache_cookie()
|
A D | xattr.c | 60 struct ceph_fs_client *fsc = ceph_sb_to_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_layout() 72 dout("ceph_vxattrcb_layout %p\n", &ci->netfs.inode); in ceph_vxattrcb_layout() 164 struct ceph_fs_client *fsc = ceph_sb_to_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_layout_pool() 316 struct ceph_fs_client *fsc = ceph_sb_to_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_cluster_fsid() 324 struct ceph_fs_client *fsc = ceph_sb_to_client(ci->netfs.inode.i_sb); in ceph_vxattrcb_client_id() 632 ceph_vinop(&ci->netfs.inode), xattr, name_len, name, val_len, val); in __set_xattr() 874 dout("__build_xattrs_blob %p\n", &ci->netfs.inode); in __ceph_build_xattrs_blob()
|
A D | snap.c | 525 struct inode *inode = &ci->netfs.inode; in ceph_queue_cap_snap() 656 struct inode *inode = &ci->netfs.inode; in __ceph_finish_cap_snap() 716 struct inode *inode = igrab(&ci->netfs.inode); in queue_realm_cap_snaps() 932 inode = &ci->netfs.inode; in flush_snaps()
|
/linux-6.3-rc2/Documentation/filesystems/ |
A D | netfs_library.rst | 30 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 197 The above fields are the ones the netfs can use. They are: 608 .. kernel-doc:: include/linux/netfs.h 609 .. kernel-doc:: fs/netfs/buffered_read.c [all …]
|
/linux-6.3-rc2/fs/cachefiles/ |
A D | Kconfig | 37 the data lies with the cachefiles backend instead of with the netfs
|