/Linux-v6.1/fs/netfs/ |
D | Makefile | 3 netfs-y := \ 9 netfs-$(CONFIG_NETFS_STATS) += stats.o 11 obj-$(CONFIG_NETFS_SUPPORT) := netfs.o
|
/Linux-v6.1/fs/cifs/ |
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()
|
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-v6.1/fs/afs/ |
D | inode.c | 61 netfs_inode_init(&vnode->netfs, &afs_req_ops); in afs_set_netfs_context() 99 set_nlink(&vnode->netfs.inode, status->nlink); in afs_inode_init_from_status() 144 inode_set_iversion_raw(&vnode->netfs.inode, status->data_version); in afs_inode_init_from_status() 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() [all …]
|
D | write.c | 63 ret = netfs_write_begin(&vnode->netfs, file, mapping, pos, len, &folio, fsdata); in afs_write_begin() 149 i_size = i_size_read(&vnode->netfs.inode); in afs_write_end() 152 i_size = i_size_read(&vnode->netfs.inode); in afs_write_end() 260 struct address_space *mapping = vnode->netfs.inode.i_mapping; in afs_pages_written_back() 387 op->store.i_size = max(pos + size, vnode->netfs.remote_i_size); in afs_store_data() 389 op->mtime = vnode->netfs.inode.i_mtime; in afs_store_data() 556 loff_t i_size = i_size_read(&vnode->netfs.inode); in afs_write_back_from_locked_folio() 847 if (IS_SWAPFILE(&vnode->netfs.inode)) { in afs_file_write() 960 if (!mapping_tagged(&vnode->netfs.inode.i_data, PAGECACHE_TAG_WRITEBACK) && in afs_prune_wb_keys() 961 !mapping_tagged(&vnode->netfs.inode.i_data, PAGECACHE_TAG_DIRTY)) { in afs_prune_wb_keys() [all …]
|
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()
|
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()
|
D | dir.c | 112 struct address_space *mapping = req->vnode->netfs.inode.i_mapping; in afs_dir_read_cleanup() 156 __func__, dvnode->netfs.inode.i_ino, in afs_dir_check_folio() 186 struct address_space *mapping = dvnode->netfs.inode.i_mapping; in afs_dir_dump() 220 struct address_space *mapping = dvnode->netfs.inode.i_mapping; in afs_dir_check() 272 struct address_space *mapping = dvnode->netfs.inode.i_mapping; in afs_read_dir() 290 i_size = i_size_read(&dvnode->netfs.inode); in afs_read_dir() 308 iov_iter_xarray(&req->def_iter, READ, &dvnode->netfs.inode.i_mapping->i_pages, in afs_read_dir() 897 inode = &op->file[1].vnode->netfs.inode; in afs_do_lookup() 1139 ret = afs_do_lookup_one(&dir->netfs.inode, dentry, &fid, key, &dir_version); in afs_d_revalidate() 1170 vnode->netfs.inode.i_generation); in afs_d_revalidate() [all …]
|
D | internal.h | 621 struct netfs_inode netfs; /* Netfslib context and vfs inode */ member 672 return netfs_i_cookie(&vnode->netfs); in afs_vnode_cache() 682 vnode->netfs.cache = cookie; in afs_vnode_set_cache() 889 i_size_read(&vnode->netfs.inode), flags); in afs_invalidate_cache() 1214 return afs_i2net(&vnode->netfs.inode); in afs_v2net() 1590 return container_of(inode, struct afs_vnode, netfs.inode); in AFS_FS_I() 1595 return &vnode->netfs.inode; in AFS_VNODE_TO_I() 1618 i_size_write(&vnode->netfs.inode, size); in afs_set_i_size() 1619 vnode->netfs.inode.i_blocks = ((size + 1023) >> 10) << 1; in afs_set_i_size()
|
D | dir_silly.c | 134 ihold(&vnode->netfs.inode); in afs_sillyrename() 151 iput(&vnode->netfs.inode); in afs_sillyrename()
|
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()
|
D | callback.c | 33 unmap_mapping_pages(vnode->netfs.inode.i_mapping, 0, 0, false); in afs_invalidate_mmap_work()
|
/Linux-v6.1/Documentation/filesystems/caching/ |
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 107 files (typically something that a netfs would get for a superblock); and 136 netfs using an iov_iter. [all …]
|
D | index.rst | 10 netfs-api
|
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-v6.1/fs/9p/ |
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()
|
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()
|
D | vfs_addr.c | 155 i_size_read(&v9inode->netfs.inode), 0); in v9fs_write_to_cache_done() 289 retval = netfs_write_begin(&v9inode->netfs, filp, mapping, pos, len, &folio, fsdata); in v9fs_write_begin()
|
/Linux-v6.1/fs/ceph/ |
D | caps.c | 495 dout("__cap_set_timeouts %p %lu\n", &ci->netfs.inode, in __cap_set_timeouts() 510 dout("__cap_delay_requeue %p flags 0x%lx at %lu\n", &ci->netfs.inode, in __cap_delay_requeue() 534 dout("__cap_delay_requeue_front %p\n", &ci->netfs.inode); in __cap_delay_requeue_front() 551 dout("__cap_delay_cancel %p\n", &ci->netfs.inode); in __cap_delay_cancel() 571 if (S_ISREG(ci->netfs.inode.i_mode) && in __check_cap_issue() 586 if (S_ISDIR(ci->netfs.inode.i_mode)) { in __check_cap_issue() 587 dout(" marking %p NOT complete\n", &ci->netfs.inode); in __check_cap_issue() 593 if (S_ISDIR(ci->netfs.inode.i_mode) && (had & CEPH_CAP_DIR_CREATE) && in __check_cap_issue() 775 "but STALE (gen %u vs %u)\n", &cap->ci->netfs.inode, in __cap_is_valid() 801 &ci->netfs.inode, cap, ceph_cap_string(cap->issued)); in __ceph_caps_issued() [all …]
|
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()
|
D | cache.h | 31 return netfs_i_cookie(&ci->netfs); in ceph_fscache_cookie()
|
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()
|
D | snap.c | 524 struct inode *inode = &ci->netfs.inode; in ceph_queue_cap_snap() 655 struct inode *inode = &ci->netfs.inode; in __ceph_finish_cap_snap() 715 struct inode *inode = igrab(&ci->netfs.inode); in queue_realm_cap_snaps() 908 inode = &ci->netfs.inode; in flush_snaps()
|
/Linux-v6.1/Documentation/filesystems/ |
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 111 * Allow the netfs to expand a readahead request in both directions to meet its 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: [all …]
|
/Linux-v6.1/fs/cachefiles/ |
D | Kconfig | 37 the data lies with the cachefiles backend instead of with the netfs
|