Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

docs: filesystems: caching/netfs-api.txt: convert it to ReST

- Add a SPDX header;
- Adjust document and section titles;
- Some whitespace fixes and new line breaks;
- Mark literal blocks as such;
- Add it to filesystems/caching/index.rst.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/cfe4cb1bf8e1f0093d44c30801ec42e74721e543.1588021877.git.mchehab+huawei@kernel.org
Signed-off-by: Jonathan Corbet <corbet@lwn.net>

authored by

Mauro Carvalho Chehab and committed by
Jonathan Corbet
efc930fa fd299b2a

+103 -116
+1 -1
Documentation/filesystems/caching/fscache.rst
··· 183 183 184 184 The netfs API to FS-Cache can be found in: 185 185 186 - Documentation/filesystems/caching/netfs-api.txt 186 + Documentation/filesystems/caching/netfs-api.rst 187 187 188 188 The cache backend API to FS-Cache can be found in: 189 189
+1
Documentation/filesystems/caching/index.rst
··· 8 8 9 9 fscache 10 10 object 11 + netfs-api
+79 -93
Documentation/filesystems/caching/netfs-api.txt Documentation/filesystems/caching/netfs-api.rst
··· 1 - =============================== 2 - FS-CACHE NETWORK FILESYSTEM API 3 - =============================== 1 + .. SPDX-License-Identifier: GPL-2.0 2 + 3 + =============================== 4 + FS-Cache Network Filesystem API 5 + =============================== 4 6 5 7 There's an API by which a network filesystem can make use of the FS-Cache 6 8 facilities. This is based around a number of principles: ··· 21 19 22 20 This API is declared in <linux/fscache.h>. 23 21 24 - This document contains the following sections: 22 + .. This document contains the following sections: 25 23 26 24 (1) Network filesystem definition 27 25 (2) Index definition ··· 43 41 (18) FS-Cache specific page flags. 44 42 45 43 46 - ============================= 47 - NETWORK FILESYSTEM DEFINITION 44 + Network Filesystem Definition 48 45 ============================= 49 46 50 47 FS-Cache needs a description of the network filesystem. This is specified 51 - using a record of the following structure: 48 + using a record of the following structure:: 52 49 53 50 struct fscache_netfs { 54 51 uint32_t version; ··· 72 71 another parameter passed into the registration function. 73 72 74 73 For example, kAFS (linux/fs/afs/) uses the following definitions to describe 75 - itself: 74 + itself:: 76 75 77 76 struct fscache_netfs afs_cache_netfs = { 78 77 .version = 0, ··· 80 79 }; 81 80 82 81 83 - ================ 84 - INDEX DEFINITION 82 + Index Definition 85 83 ================ 86 84 87 85 Indices are used for two purposes: ··· 114 114 function is recursive. Too many layers will run the kernel out of stack. 115 115 116 116 117 - ================= 118 - OBJECT DEFINITION 117 + Object Definition 119 118 ================= 120 119 121 - To define an object, a structure of the following type should be filled out: 120 + To define an object, a structure of the following type should be filled out:: 122 121 123 122 struct fscache_cookie_def 124 123 { ··· 148 149 149 150 This is one of the following values: 150 151 151 - (*) FSCACHE_COOKIE_TYPE_INDEX 152 - 152 + FSCACHE_COOKIE_TYPE_INDEX 153 153 This defines an index, which is a special FS-Cache type. 154 154 155 - (*) FSCACHE_COOKIE_TYPE_DATAFILE 156 - 155 + FSCACHE_COOKIE_TYPE_DATAFILE 157 156 This defines an ordinary data file. 158 157 159 - (*) Any other value between 2 and 255 160 - 158 + Any other value between 2 and 255 161 159 This defines an extraordinary object such as an XATTR. 162 160 163 161 (2) The name of the object type (NUL terminated unless all 16 chars are used) ··· 188 192 189 193 If present, the function should return one of the following values: 190 194 191 - (*) FSCACHE_CHECKAUX_OKAY - the entry is okay as is 192 - (*) FSCACHE_CHECKAUX_NEEDS_UPDATE - the entry requires update 193 - (*) FSCACHE_CHECKAUX_OBSOLETE - the entry should be deleted 195 + FSCACHE_CHECKAUX_OKAY 196 + - the entry is okay as is 197 + 198 + FSCACHE_CHECKAUX_NEEDS_UPDATE 199 + - the entry requires update 200 + 201 + FSCACHE_CHECKAUX_OBSOLETE 202 + - the entry should be deleted 194 203 195 204 This function can also be used to extract data from the auxiliary data in 196 205 the cache and copy it into the netfs's structures. ··· 237 236 This function is not required for indices as they're not permitted data. 238 237 239 238 240 - =================================== 241 - NETWORK FILESYSTEM (UN)REGISTRATION 239 + Network Filesystem (Un)registration 242 240 =================================== 243 241 244 242 The first step is to declare the network filesystem to the cache. This also 245 243 involves specifying the layout of the primary index (for AFS, this would be the 246 244 "cell" level). 247 245 248 - The registration function is: 246 + The registration function is:: 249 247 250 248 int fscache_register_netfs(struct fscache_netfs *netfs); 251 249 252 250 It just takes a pointer to the netfs definition. It returns 0 or an error as 253 251 appropriate. 254 252 255 - For kAFS, registration is done as follows: 253 + For kAFS, registration is done as follows:: 256 254 257 255 ret = fscache_register_netfs(&afs_cache_netfs); 258 256 259 - The last step is, of course, unregistration: 257 + The last step is, of course, unregistration:: 260 258 261 259 void fscache_unregister_netfs(struct fscache_netfs *netfs); 262 260 263 261 264 - ================ 265 - CACHE TAG LOOKUP 262 + Cache Tag Lookup 266 263 ================ 267 264 268 265 FS-Cache permits the use of more than one cache. To permit particular index ··· 269 270 FS-Cache as to which cache should be used. The problem with doing that is that 270 271 FS-Cache will always pick the first cache that was registered. 271 272 272 - To get the representation for a named tag: 273 + To get the representation for a named tag:: 273 274 274 275 struct fscache_cache_tag *fscache_lookup_cache_tag(const char *name); 275 276 ··· 277 278 will never return an error. It may return a dummy tag, however, if it runs out 278 279 of memory; this will inhibit caching with this tag. 279 280 280 - Any representation so obtained must be released by passing it to this function: 281 + Any representation so obtained must be released by passing it to this function:: 281 282 282 283 void fscache_release_cache_tag(struct fscache_cache_tag *tag); 283 284 ··· 285 286 operation select_cache(). 286 287 287 288 288 - ================== 289 - INDEX REGISTRATION 289 + Index Registration 290 290 ================== 291 291 292 292 The third step is to inform FS-Cache about part of an index hierarchy that can 293 293 be used to locate files. This is done by requesting a cookie for each index in 294 - the path to the file: 294 + the path to the file:: 295 295 296 296 struct fscache_cookie * 297 297 fscache_acquire_cookie(struct fscache_cookie *parent, ··· 337 339 calling fscache_enable_cookie() (see below). 338 340 339 341 For example, with AFS, a cell would be added to the primary index. This index 340 - entry would have a dependent inode containing volume mappings within this cell: 342 + entry would have a dependent inode containing volume mappings within this cell:: 341 343 342 344 cell->cache = 343 345 fscache_acquire_cookie(afs_cache_netfs.primary_index, ··· 347 349 cell, 0, true); 348 350 349 351 And then a particular volume could be added to that index by ID, creating 350 - another index for vnodes (AFS inode equivalents): 352 + another index for vnodes (AFS inode equivalents):: 351 353 352 354 volume->cache = 353 355 fscache_acquire_cookie(volume->cell->cache, ··· 357 359 volume, 0, true); 358 360 359 361 360 - ====================== 361 - DATA FILE REGISTRATION 362 + Data File Registration 362 363 ====================== 363 364 364 365 The fourth step is to request a data file be created in the cache. This is 365 366 identical to index cookie acquisition. The only difference is that the type in 366 - the object definition should be something other than index type. 367 + the object definition should be something other than index type:: 367 368 368 369 vnode->cache = 369 370 fscache_acquire_cookie(volume->cache, ··· 372 375 vnode, vnode->status.size, true); 373 376 374 377 375 - ================================= 376 - MISCELLANEOUS OBJECT REGISTRATION 378 + Miscellaneous Object Registration 377 379 ================================= 378 380 379 381 An optional step is to request an object of miscellaneous type be created in 380 382 the cache. This is almost identical to index cookie acquisition. The only 381 383 difference is that the type in the object definition should be something other 382 384 than index type. While the parent object could be an index, it's more likely 383 - it would be some other type of object such as a data file. 385 + it would be some other type of object such as a data file:: 384 386 385 387 xattr->cache = 386 388 fscache_acquire_cookie(vnode->cache, ··· 392 396 entries for example. 393 397 394 398 395 - ========================== 396 - SETTING THE DATA FILE SIZE 399 + Setting the Data File Size 397 400 ========================== 398 401 399 402 The fifth step is to set the physical attributes of the file, such as its size. 400 403 This doesn't automatically reserve any space in the cache, but permits the 401 - cache to adjust its metadata for data tracking appropriately: 404 + cache to adjust its metadata for data tracking appropriately:: 402 405 403 406 int fscache_attr_changed(struct fscache_cookie *cookie); 404 407 ··· 412 417 to the caller. The attribute adjustment excludes read and write operations. 413 418 414 419 415 - ===================== 416 - PAGE ALLOC/READ/WRITE 420 + Page alloc/read/write 417 421 ===================== 418 422 419 423 And the sixth step is to store and retrieve pages in the cache. There are ··· 435 441 436 442 Firstly, the netfs should ask FS-Cache to examine the caches and read the 437 443 contents cached for a particular page of a particular file if present, or else 438 - allocate space to store the contents if not: 444 + allocate space to store the contents if not:: 439 445 440 446 typedef 441 447 void (*fscache_rw_complete_t)(struct page *page, ··· 468 474 469 475 (4) When the read is complete, end_io_func() will be invoked with: 470 476 471 - (*) The netfs data supplied when the cookie was created. 477 + * The netfs data supplied when the cookie was created. 472 478 473 - (*) The page descriptor. 479 + * The page descriptor. 474 480 475 - (*) The context argument passed to the above function. This will be 481 + * The context argument passed to the above function. This will be 476 482 maintained with the get_context/put_context functions mentioned above. 477 483 478 - (*) An argument that's 0 on success or negative for an error code. 484 + * An argument that's 0 on success or negative for an error code. 479 485 480 486 If an error occurs, it should be assumed that the page contains no usable 481 487 data. fscache_readpages_cancel() may need to be called. ··· 498 504 read any data from the cache. 499 505 500 506 501 - PAGE ALLOCATE 507 + Page Allocate 502 508 ------------- 503 509 504 510 Alternatively, if there's not expected to be any data in the cache for a page 505 - because the file has been extended, a block can simply be allocated instead: 511 + because the file has been extended, a block can simply be allocated instead:: 506 512 507 513 int fscache_alloc_page(struct fscache_cookie *cookie, 508 514 struct page *page, ··· 517 523 successful. 518 524 519 525 520 - PAGE WRITE 526 + Page Write 521 527 ---------- 522 528 523 529 Secondly, if the netfs changes the contents of the page (either due to an 524 530 initial download or if a user performs a write), then the page should be 525 - written back to the cache: 531 + written back to the cache:: 526 532 527 533 int fscache_write_page(struct fscache_cookie *cookie, 528 534 struct page *page, ··· 560 566 Writing takes place asynchronously. 561 567 562 568 563 - MULTIPLE PAGE READ 569 + Multiple Page Read 564 570 ------------------ 565 571 566 572 A facility is provided to read several pages at once, as requested by the 567 - readpages() address space operation: 573 + readpages() address space operation:: 568 574 569 575 int fscache_read_or_alloc_pages(struct fscache_cookie *cookie, 570 576 struct address_space *mapping, ··· 592 598 be returned. 593 599 594 600 Otherwise, if all pages had reads dispatched, then 0 will be returned, the 595 - list will be empty and *nr_pages will be 0. 601 + list will be empty and ``*nr_pages`` will be 0. 596 602 597 603 (4) end_io_func will be called once for each page being read as the reads 598 604 complete. It will be called in process context if error != 0, but it may ··· 603 609 been marked appropriately and will need uncaching. 604 610 605 611 606 - CANCELLATION OF UNREAD PAGES 612 + Cancellation of Unread Pages 607 613 ---------------------------- 608 614 609 615 If one or more pages are passed to fscache_read_or_alloc_pages() but not then 610 616 read from the cache and also not read from the underlying filesystem then 611 617 those pages will need to have any marks and reservations removed. This can be 612 - done by calling: 618 + done by calling:: 613 619 614 620 void fscache_readpages_cancel(struct fscache_cookie *cookie, 615 621 struct list_head *pages); ··· 619 625 and any that have PG_fscache set will be uncached. 620 626 621 627 622 - ============== 623 - PAGE UNCACHING 628 + Page Uncaching 624 629 ============== 625 630 626 - To uncache a page, this function should be called: 631 + To uncache a page, this function should be called:: 627 632 628 633 void fscache_uncache_page(struct fscache_cookie *cookie, 629 634 struct page *page); ··· 637 644 638 645 Furthermore, note that this does not cancel the asynchronous read or write 639 646 operation started by the read/alloc and write functions, so the page 640 - invalidation functions must use: 647 + invalidation functions must use:: 641 648 642 649 bool fscache_check_page_write(struct fscache_cookie *cookie, 643 650 struct page *page); 644 651 645 - to see if a page is being written to the cache, and: 652 + to see if a page is being written to the cache, and:: 646 653 647 654 void fscache_wait_on_page_write(struct fscache_cookie *cookie, 648 655 struct page *page); ··· 653 660 When releasepage() is being implemented, a special FS-Cache function exists to 654 661 manage the heuristics of coping with vmscan trying to eject pages, which may 655 662 conflict with the cache trying to write pages to the cache (which may itself 656 - need to allocate memory): 663 + need to allocate memory):: 657 664 658 665 bool fscache_maybe_release_page(struct fscache_cookie *cookie, 659 666 struct page *page, ··· 669 676 in which case the page will not be stored in the cache this time. 670 677 671 678 672 - BULK INODE PAGE UNCACHE 679 + Bulk Image Page Uncache 673 680 ----------------------- 674 681 675 682 A convenience routine is provided to perform an uncache on all the pages 676 683 attached to an inode. This assumes that the pages on the inode correspond on a 677 - 1:1 basis with the pages in the cache. 684 + 1:1 basis with the pages in the cache:: 678 685 679 686 void fscache_uncache_all_inode_pages(struct fscache_cookie *cookie, 680 687 struct inode *inode); ··· 685 692 error is returned. 686 693 687 694 688 - =============================== 689 - INDEX AND DATA FILE CONSISTENCY 695 + Index and Data File consistency 690 696 =============================== 691 697 692 698 To find out whether auxiliary data for an object is up to data within the 693 - cache, the following function can be called: 699 + cache, the following function can be called:: 694 700 695 701 int fscache_check_consistency(struct fscache_cookie *cookie, 696 702 const void *aux_data); ··· 700 708 return -ENOMEM and -ERESTARTSYS. 701 709 702 710 To request an update of the index data for an index or other object, the 703 - following function should be called: 711 + following function should be called:: 704 712 705 713 void fscache_update_cookie(struct fscache_cookie *cookie, 706 714 const void *aux_data); ··· 713 721 data blocks are added to a data file object. 714 722 715 723 716 - ================= 717 - COOKIE ENABLEMENT 724 + Cookie Enablement 718 725 ================= 719 726 720 727 Cookies exist in one of two states: enabled and disabled. If a cookie is ··· 722 731 still possible to uncache pages and relinquish the cookie. 723 732 724 733 The initial enablement state is set by fscache_acquire_cookie(), but the cookie 725 - can be enabled or disabled later. To disable a cookie, call: 734 + can be enabled or disabled later. To disable a cookie, call:: 726 735 727 736 void fscache_disable_cookie(struct fscache_cookie *cookie, 728 737 const void *aux_data, ··· 737 746 calling fscache_uncache_all_inode_pages() afterwards to make sure all page 738 747 markings are cleared up. 739 748 740 - Cookies can be enabled or reenabled with: 749 + Cookies can be enabled or reenabled with:: 741 750 742 751 void fscache_enable_cookie(struct fscache_cookie *cookie, 743 752 const void *aux_data, ··· 762 771 that is non-NULL inside the enablement lock before proceeding. 763 772 764 773 765 - =============================== 766 - MISCELLANEOUS COOKIE OPERATIONS 774 + Miscellaneous Cookie operations 767 775 =============================== 768 776 769 777 There are a number of operations that can be used to control cookies: 770 778 771 - (*) Cookie pinning: 779 + * Cookie pinning:: 772 780 773 781 int fscache_pin_cookie(struct fscache_cookie *cookie); 774 782 void fscache_unpin_cookie(struct fscache_cookie *cookie); ··· 780 790 -ENOSPC if there isn't enough space to honour the operation, -ENOMEM or 781 791 -EIO if there's any other problem. 782 792 783 - (*) Data space reservation: 793 + * Data space reservation:: 784 794 785 795 int fscache_reserve_space(struct fscache_cookie *cookie, loff_t size); 786 796 ··· 799 809 make space if it's not in use. 800 810 801 811 802 - ===================== 803 - COOKIE UNREGISTRATION 812 + Cookie Unregistration 804 813 ===================== 805 814 806 - To get rid of a cookie, this function should be called. 815 + To get rid of a cookie, this function should be called:: 807 816 808 817 void fscache_relinquish_cookie(struct fscache_cookie *cookie, 809 818 const void *aux_data, ··· 824 835 first. 825 836 826 837 827 - ================== 828 - INDEX INVALIDATION 838 + Index Invalidation 829 839 ================== 830 840 831 841 There is no direct way to invalidate an index subtree. To do this, the caller 832 842 should relinquish and retire the cookie they have, and then acquire a new one. 833 843 834 844 835 - ====================== 836 - DATA FILE INVALIDATION 845 + Data File Invalidation 837 846 ====================== 838 847 839 848 Sometimes it will be necessary to invalidate an object that contains data. ··· 840 853 inode and reload from the server. 841 854 842 855 To indicate that a cache object should be invalidated, the following function 843 - can be called: 856 + can be called:: 844 857 845 858 void fscache_invalidate(struct fscache_cookie *cookie); 846 859 ··· 855 868 856 869 Using the following function, the netfs can wait for the invalidation operation 857 870 to have reached a point at which it can start submitting ordinary operations 858 - once again: 871 + once again:: 859 872 860 873 void fscache_wait_on_invalidate(struct fscache_cookie *cookie); 861 874 862 875 863 - =========================== 864 - FS-CACHE SPECIFIC PAGE FLAG 876 + FS-cache Specific Page Flag 865 877 =========================== 866 878 867 879 FS-Cache makes use of a page flag, PG_private_2, for its own purpose. This is ··· 884 898 This bit does not overlap with such as PG_private. This means that FS-Cache 885 899 can be used with a filesystem that uses the block buffering code. 886 900 887 - There are a number of operations defined on this flag: 901 + There are a number of operations defined on this flag:: 888 902 889 903 int PageFsCache(struct page *page); 890 904 void SetPageFsCache(struct page *page)
+1 -1
fs/fscache/cookie.c
··· 4 4 * Copyright (C) 2004-2007 Red Hat, Inc. All Rights Reserved. 5 5 * Written by David Howells (dhowells@redhat.com) 6 6 * 7 - * See Documentation/filesystems/caching/netfs-api.txt for more information on 7 + * See Documentation/filesystems/caching/netfs-api.rst for more information on 8 8 * the netfs API. 9 9 */ 10 10
+21 -21
include/linux/fscache.h
··· 6 6 * 7 7 * NOTE!!! See: 8 8 * 9 - * Documentation/filesystems/caching/netfs-api.txt 9 + * Documentation/filesystems/caching/netfs-api.rst 10 10 * 11 11 * for a description of the network filesystem interface declared here. 12 12 */ ··· 233 233 * 234 234 * Register a filesystem as desiring caching services if they're available. 235 235 * 236 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 236 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 237 237 * description. 238 238 */ 239 239 static inline ··· 253 253 * Indicate that a filesystem no longer desires caching services for the 254 254 * moment. 255 255 * 256 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 256 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 257 257 * description. 258 258 */ 259 259 static inline ··· 270 270 * Acquire a specific cache referral tag that can be used to select a specific 271 271 * cache in which to cache an index. 272 272 * 273 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 273 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 274 274 * description. 275 275 */ 276 276 static inline ··· 288 288 * 289 289 * Release a reference to a cache referral tag previously looked up. 290 290 * 291 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 291 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 292 292 * description. 293 293 */ 294 294 static inline ··· 315 315 * that can be used to locate files. This is done by requesting a cookie for 316 316 * each index in the path to the file. 317 317 * 318 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 318 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 319 319 * description. 320 320 */ 321 321 static inline ··· 351 351 * provided to update the auxiliary data in the cache before the object is 352 352 * disconnected. 353 353 * 354 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 354 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 355 355 * description. 356 356 */ 357 357 static inline ··· 394 394 * cookie. The auxiliary data on the cookie will be updated first if @aux_data 395 395 * is set. 396 396 * 397 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 397 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 398 398 * description. 399 399 */ 400 400 static inline ··· 410 410 * 411 411 * Permit data-storage cache objects to be pinned in the cache. 412 412 * 413 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 413 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 414 414 * description. 415 415 */ 416 416 static inline ··· 425 425 * 426 426 * Permit data-storage cache objects to be unpinned from the cache. 427 427 * 428 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 428 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 429 429 * description. 430 430 */ 431 431 static inline ··· 441 441 * changed. This includes the data size. These attributes will be obtained 442 442 * through the get_attr() cookie definition op. 443 443 * 444 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 444 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 445 445 * description. 446 446 */ 447 447 static inline ··· 463 463 * 464 464 * This can be called with spinlocks held. 465 465 * 466 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 466 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 467 467 * description. 468 468 */ 469 469 static inline ··· 479 479 * 480 480 * Wait for the invalidation of an object to complete. 481 481 * 482 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 482 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 483 483 * description. 484 484 */ 485 485 static inline ··· 498 498 * cookie so that a write to that object within the space can always be 499 499 * honoured. 500 500 * 501 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 501 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 502 502 * description. 503 503 */ 504 504 static inline ··· 533 533 * Else, if the page is unbacked, -ENODATA is returned and a block may have 534 534 * been allocated in the cache. 535 535 * 536 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 536 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 537 537 * description. 538 538 */ 539 539 static inline ··· 582 582 * regard to different pages, the return values are prioritised in that order. 583 583 * Any pages submitted for reading are removed from the pages list. 584 584 * 585 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 585 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 586 586 * description. 587 587 */ 588 588 static inline ··· 617 617 * Else, a block will be allocated if one wasn't already, and 0 will be 618 618 * returned 619 619 * 620 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 620 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 621 621 * description. 622 622 */ 623 623 static inline ··· 667 667 * be cleared at the completion of the write to indicate the success or failure 668 668 * of the operation. Note that the completion may happen before the return. 669 669 * 670 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 670 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 671 671 * description. 672 672 */ 673 673 static inline ··· 693 693 * Note that this cannot cancel any outstanding I/O operations between this 694 694 * page and the cache. 695 695 * 696 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 696 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 697 697 * description. 698 698 */ 699 699 static inline ··· 711 711 * 712 712 * Ask the cache if a page is being written to the cache. 713 713 * 714 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 714 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 715 715 * description. 716 716 */ 717 717 static inline ··· 731 731 * Ask the cache to wake us up when a page is no longer being written to the 732 732 * cache. 733 733 * 734 - * See Documentation/filesystems/caching/netfs-api.txt for a complete 734 + * See Documentation/filesystems/caching/netfs-api.rst for a complete 735 735 * description. 736 736 */ 737 737 static inline