aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/write.c
AgeCommit message (Expand)AuthorFilesLines
2025-10-13NFS: check if suid/sgid was cleared after a write as neededScott Mayhew1-1/+2
2025-09-26NFSv4/flexfiles: Use ds_commit_idx when marking a write commitJonathan Curley1-1/+1
2025-09-23NFS: Enable use of the RWF_DONTCACHE flag on the NFS clientTrond Myklebust1-1/+3
2025-09-23sunrpc: remove dfprintk_cont() and dfprintk_rcu_cont()Jeff Layton1-3/+3
2025-09-23nfs: add tracepoints to nfs_writepages()Jeff Layton1-4/+6
2025-09-23nfs: more in-depth tracing of writepage eventsJeff Layton1-0/+2
2025-09-23nfs: new tracepoints around write handlingJeff Layton1-1/+9
2025-09-06NFS: Fix the marking of the folio as up to dateTrond Myklebust1-47/+5
2025-09-06NFS: nfs_invalidate_folio() must observe the offset and size argumentsTrond Myklebust1-0/+1
2025-08-19NFS: Fix a race when updating an existing writeTrond Myklebust1-19/+10
2025-08-09Merge tag 'nfs-for-6.17-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-2/+6
2025-07-14NFS: Allow folio migration for the case of mode == MIGRATE_SYNCTrond Myklebust1-2/+6
2025-07-09mm: remove the for_reclaim field from struct writeback_controlChristoph Hellwig1-1/+1
2025-05-28nfs: use writeback_iter directlyChristoph Hellwig1-12/+6
2025-05-28nfs: refactor nfs_do_writepageChristoph Hellwig1-10/+9
2025-05-28nfs: don't return AOP_WRITEPAGE_ACTIVATE from nfs_do_writepageChristoph Hellwig1-4/+1
2025-05-28nfs: fold nfs_page_async_flush into nfs_do_writepageChristoph Hellwig1-10/+4
2025-04-02nfs: Add missing release on error in nfs_lock_and_join_requests()Dan Carpenter1-1/+3
2025-01-14nfs: cache all open LOCALIO nfsd_file(s) in clientMike Snitzer1-1/+2
2024-11-18Revert "nfs: don't reuse partially completed requests in nfs_lock_and_join_re...Trond Myklebust1-20/+29
2024-11-09Revert "fs: nfs: fix missing refcnt by replacing folio_set_private by folio_a...Trond Myklebust1-2/+4
2024-09-23nfs: enable localio for non-pNFS IOTrond Myklebust1-1/+5
2024-09-23nfs: add LOCALIO supportWeston Andros Adamson1-0/+3
2024-09-23nfs: pass struct nfsd_file to nfs_init_pgio and nfs_init_commitMike Snitzer1-2/+3
2024-09-23nfs: add 'noalignwrite' option for lock-less 'lost writes' preventionDan Aloni1-0/+3
2024-09-23fs: nfs: fix missing refcnt by replacing folio_set_private by folio_attach_pr...Zhaoyang Huang1-4/+2
2024-07-21Merge tag 'mm-stable-2024-07-21-14-50' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-2/+2
2024-07-18Merge tag 'nfs-for-6.11-1' of git://git.linux-nfs.org/projects/anna/linux-nfsLinus Torvalds1-187/+177
2024-07-17nfs: pass explicit offset/count to trace eventsChristoph Hellwig1-5/+5
2024-07-12nfs: do not extend writes to the entire folioChristoph Hellwig1-2/+6
2024-07-08nfs: don't reuse partially completed requests in nfs_lock_and_join_requestsChristoph Hellwig1-29/+20
2024-07-08nfs: move nfs_wait_on_request to write.cChristoph Hellwig1-0/+17
2024-07-08nfs: fold nfs_page_group_lock_subrequests into nfs_lock_and_join_requestsChristoph Hellwig1-3/+64
2024-07-08nfs: fold nfs_folio_find_and_lock_request into nfs_lock_and_join_requestsChristoph Hellwig1-41/+27
2024-07-08nfs: simplify nfs_folio_find_and_lock_requestChristoph Hellwig1-17/+21
2024-07-08nfs: remove nfs_folio_private_requestChristoph Hellwig1-7/+2
2024-07-08nfs: remove dead code for the old swap over NFS implementationChristoph Hellwig1-104/+24
2024-07-08nfs: Block on write congestionJan Kara1-4/+11
2024-07-08nfs: Drop pointless check from nfs_commit_release_pages()Jan Kara1-4/+0
2024-07-08NFSv4: Add support for delegated atime and mtime attributesTrond Myklebust1-0/+9
2024-07-08NFSv4: Add a flags argument to the 'have_delegation' callbackTrond Myklebust1-1/+1
2024-07-03nfs: drop usage of folio_file_posKairui Song1-3/+3
2024-05-31nfs: Remove calls to folio_set_errorMatthew Wilcox (Oracle)1-1/+0
2024-04-29mm: Remove the PG_fscache alias for PG_private_2David Howells1-2/+2
2024-03-16Merge tag 'nfs-for-6.9-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-5/+1
2024-03-09nfs: fix UAF in direct writesJosef Bacik1-1/+1
2024-03-09NFS: remove sync_mode test from nfs_writepage_locked()NeilBrown1-4/+0
2024-02-05nfs: adapt to breakup of struct file_lockJeff Layton1-3/+2
2024-02-05filelock: split common fields into struct file_lock_coreJeff Layton1-0/+1
2024-02-05nfs: convert to using new filelock helpersJeff Layton1-2/+2
2024-01-10Merge tag 'nfs-for-6.8-1' of git://git.linux-nfs.org/projects/anna/linux-nfsLinus Torvalds1-11/+0
2024-01-04nfs: Remove writepageMatthew Wilcox (Oracle)1-11/+0
2023-11-21fs: Rename mapping private membersMatthew Wilcox (Oracle)1-6/+6
2023-10-22NFSv4/pnfs: Allow layoutget to return EAGAIN for softerr mountsTrond Myklebust1-0/+2
2023-10-11NFS: Fix potential oops in nfs_inode_remove_request()Scott Mayhew1-1/+3
2023-09-28nfs: decrement nrequests counter before releasing the reqJeff Layton1-1/+1
2023-09-13NFS: Use the correct commit info in nfs_join_page_group()Trond Myklebust1-11/+12
2023-02-23Merge tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-3/+2
2023-02-22Merge tag 'nfs-for-6.3-1' of git://git.linux-nfs.org/projects/anna/linux-nfsLinus Torvalds1-186/+194
2023-02-14NFS: Improve tracing of nfs_wb_folio()Trond Myklebust1-2/+2
2023-02-14NFS: Remove unused function nfs_wb_page()Trond Myklebust1-5/+0
2023-02-14NFS: Convert buffered writes to use foliosTrond Myklebust1-173/+177
2023-02-14NFS: Convert the function nfs_wb_page() to use foliosTrond Myklebust1-19/+16
2023-02-14NFS: Add a helper nfs_wb_folio()Trond Myklebust1-0/+13
2023-02-14NFS: Add a helper to convert a struct nfs_page into an inodeTrond Myklebust1-4/+3
2023-02-02fs: convert writepage_t callback to pass a folioMatthew Wilcox (Oracle)1-3/+4
2023-01-11filelock: move file locking definitions to separate header fileJeff Layton1-0/+1
2022-11-30nfs: use locks_inode_context helperJeff Layton1-2/+2
2022-09-12Merge tag 'nfs-for-5.20-3' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-25/+0
2022-09-08NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATEAnna Schumaker1-25/+0
2022-08-22Merge tag 'nfs-for-5.20-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-2/+4
2022-08-13NFS: Fix another fsync() issue after a server rebootTrond Myklebust1-2/+4
2022-08-10Merge tag 'nfs-for-5.20-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-23/+35
2022-08-09NFS: Improve write error tracingTrond Myklebust1-3/+5
2022-08-02NFS: nfs_async_write_reschedule_io must not recurse into the writeback codeTrond Myklebust1-2/+0
2022-08-02mm/migrate: Convert migrate_page() to migrate_folio()Matthew Wilcox (Oracle)1-1/+1
2022-08-02nfs: Convert to migrate_folioMatthew Wilcox (Oracle)1-8/+8
2022-07-23nfs: only issue commit in DIO codepath if we have uncommitted dataJeff Layton1-18/+30
2022-05-31NFSv4.1 mark qualified async operations as MOVEABLE tasksOlga Kornievskaia1-0/+4
2022-05-17NFS: Further fixes to the writeback error handlingTrond Myklebust1-21/+18
2022-05-17NFS: Don't report errors from nfs_pageio_complete() more than onceTrond Myklebust1-8/+1
2022-05-17NFS: Do not report EINTR/ERESTARTSYS as mapping errorsTrond Myklebust1-1/+1
2022-03-29Merge tag 'nfs-for-5.18-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-19/+24
2022-03-22Merge tag 'folio-5.18b' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-4/+4
2022-03-22nfs: remove reliance on bdi congestionNeilBrown1-3/+11
2022-03-22NFS: Avoid writeback threads getting stuck in mempool_alloc()Trond Myklebust1-2/+8
2022-03-22NFS: nfsiod should not block forever in mempool_alloc()Trond Myklebust1-15/+9
2022-03-15nfs: Convert from invalidatepage to invalidate_folioMatthew Wilcox (Oracle)1-4/+4
2022-03-13SUNRPC: improve 'swap' handling: scheduling and PF_MEMALLOCNeilBrown1-0/+2
2022-02-25NFS: Use of mapping_set_error() results in spurious errorsTrond Myklebust1-1/+4
2022-02-25NFS: Replace last uses of NFS_INO_REVAL_PAGECACHETrond Myklebust1-1/+1
2022-01-10nfs: Implement cache I/O by accessing the cache directlyDavid Howells1-2/+5
2022-01-10nfs: Convert to new fscache volume/cookie APIDave Wysochanski1-0/+1
2021-10-21NFS: Remove redundant call to __set_page_dirty_nobuffersTrond Myklebust1-2/+0
2021-10-20SUNRPC: Trace calls to .rpc_call_doneChuck Lever1-3/+0
2021-10-20NFS: Fix up commit deadlocksTrond Myklebust1-3/+6
2021-10-10NFS: Fix deadlocks in nfs_scan_commit_list()Trond Myklebust1-15/+2
2021-10-10NFS: Instrument i_size_write()Chuck Lever1-0/+1
2021-10-03NFS: Fix up nfs_ctx_key_to_expire()Trond Myklebust1-13/+28
2021-07-08NFSv4.1 identify and mark RPC tasks that can move between transportsOlga Kornievskaia1-1/+5
2021-04-13NFSv4: Don't modify the change attribute cached in the inodeTrond Myklebust1-3/+0
2021-04-13NFS: Separate tracking of file mode cache validity from the uid/gidTrond Myklebust1-1/+1
2021-04-12NFS: Replace use of NFS_INO_REVAL_PAGECACHE when checking cache validityTrond Myklebust1-1/+1
2021-03-08NFS: Fix open coded versions of nfs_set_cache_invalid()Trond Myklebust1-4/+4
2021-02-16NFS: Add support for eager writesTrond Myklebust1-5/+12
2021-02-08NFS: Optimise sparse writes past the end of fileTrond Myklebust1-8/+12
2020-06-02mm/writeback: discard NR_UNSTABLE_NFS, use NR_WRITEBACK insteadNeilBrown1-2/+2
2020-05-13NFS/pnfs: Don't use RPC_TASK_CRED_NOREF with pnfsTrond Myklebust1-2/+2
2020-04-01NFS: Try to join page groups before an O_DIRECT retransmissionTrond Myklebust1-1/+1
2020-04-01NFS: Refactor nfs_lock_and_join_requests()Trond Myklebust1-66/+98
2020-04-01NFS: Clean up nfs_lock_and_join_requests()Trond Myklebust1-71/+20
2020-04-01NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests()Trond Myklebust1-2/+8
2020-04-01NFS: Fix a page leak in nfs_destroy_unlinked_subrequests()Trond Myklebust1-0/+1
2020-03-27NFS: Fix O_DIRECT commit verifier handlingTrond Myklebust1-2/+1
2020-03-26NFS/pNFS: Refactor pnfs_generic_commit_pagelist()Trond Myklebust1-4/+9
2020-03-16NFS: Assume cred is pinned by open context in I/O requestsTrond Myklebust1-1/+1
2020-01-15NFS: When resending after a short write, reset the reply count to zeroTrond Myklebust1-0/+2
2020-01-15NFS: Clean up generic file commit tracepointTrond Myklebust1-1/+1
2020-01-15NFS: Clean up generic writeback tracepointsTrond Myklebust1-4/+2
2020-01-15NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes()Trond Myklebust1-1/+3
2020-01-15NFS: Revalidate the file mapping on all fatal writeback errorsTrond Myklebust1-3/+4
2020-01-15NFS: Revalidate the file size on a fatal write errorTrond Myklebust1-0/+8
2020-01-15NFS: Introduce trace events triggered by page writeback errorsChuck Lever1-0/+3
2019-10-02nfs: Fix nfsi->nrequests count error on nfs_inode_remove_requestZhangXiaoxu1-2/+3
2019-08-27NFS: remove set but not used variable 'mapping'YueHaibing1-2/+0
2019-08-26NFS: Fix writepage(s) error handling to not report errors twiceTrond Myklebust1-8/+13
2019-08-26NFS: Fix spurious EIO read errorsTrond Myklebust1-12/+0
2019-08-19NFS: On fatal writeback errors, we need to call nfs_inode_remove_request()Trond Myklebust1-0/+3
2019-07-06NFS: Clean up writeback codeTrond Myklebust1-5/+2
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-04-25NFS: Add a helper to return a pointer to the open context of a struct nfs_pageTrond Myklebust1-9/+11
2019-04-25pNFS: Add tracking to limit the number of pNFS retriesTrond Myklebust1-0/+5
2019-04-25NFS: Remove unused argument from nfs_create_request()Trond Myklebust1-1/+1
2019-04-25NFS: Replace custom error reporting mechanism with generic oneTrond Myklebust1-18/+22
2019-04-25NFS: Don't call generic_error_remove_page() while holding locksTrond Myklebust1-2/+1
2019-04-25NFS: Don't interrupt file writeout due to fatal errorsTrond Myklebust1-1/+1
2019-02-20NFS: Fix up documentation warningsTrond Myklebust1-1/+0
2019-02-20NFS: Ensure NFS writeback allocations don't recurse back into NFS.Trond Myklebust1-1/+6
2019-02-20NFS: Pass error information to the pgio error cleanup routineTrond Myklebust1-2/+9
2019-02-12NFS: Don't use page_file_mapping after removing the pageBenjamin Coddington1-5/+6
2019-01-29NFS: Fix up return value on fatal errors in nfs_page_async_flush()Trond Myklebust1-4/+5
2019-01-02Merge tag 'nfs-for-4.21-1' of git://git.linux-nfs.org/projects/anna/linux-nfsLinus Torvalds1-3/+21
2018-12-28mm: convert totalram_pages and totalhigh_pages variables to atomicArun KS1-1/+1
2018-12-19NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'.NeilBrown1-1/+1
2018-12-19NFS: move credential expiry tracking out of SUNRPC into NFS.NeilBrown1-3/+21
2018-07-26NFS: Ensure we immediately start writeback on rescheduled writesTrond Myklebust1-0/+2
2018-05-31NFS: Move call to nfs4_state_protect() to nfs4_commit_setup()Anna Schumaker1-4/+1
2018-05-31NFS: Move call to nfs4_state_protect_write() to nfs4_write_setup()Anna Schumaker1-4/+1
2018-04-12Merge tag 'nfs-for-4.17-1' of git://git.linux-nfs.org/projects/anna/linux-nfsLinus Torvalds1-2/+6
2018-04-10NFSv4: Declare the size up to date after it was set.Trond Myklebust1-0/+1
2018-04-10NFS: More fine grained attribute trackingTrond Myklebust1-2/+5
2018-04-02Merge branch 'sched-wait-for-linus' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-3/+3
2018-03-20sched/wait, fs/nfs: Convert wait_on_atomic_t() usage to the new wait_var_even...Peter Zijlstra1-3/+3
2018-03-08NFS: Fix unstable write completionTrond Myklebust1-40/+43
2018-01-30Merge tag 'nfs-for-4.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-0/+2
2018-01-29Merge tag 'iversion-v4.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-5/+3
2018-01-29nfs: convert to new i_version APIJeff Layton1-5/+3
2018-01-14NFS: Add a cond_resched() to nfs_commit_release_pages()Trond Myklebust1-0/+2
2017-12-15nfs: don't wait on commit in nfs_commit_inode() if there were no commit requestsScott Mayhew1-0/+2
2017-11-17nfs/write: Use common error handling code in nfs_lock_and_join_requests()Markus Elfring1-8/+9
2017-09-11NFS: various changes relating to reporting IO errors.NeilBrown1-7/+0
2017-09-11NFS: Add static NFS I/O tracepointsChuck Lever1-0/+7
2017-09-09NFS: Count the bytes of skipped subrequests in nfs_lock_and_join_requests()Trond Myklebust1-1/+5
2017-09-09NFS: Don't hold the group lock when calling nfs_release_request()Trond Myklebust1-1/+1
2017-09-09NFS: Remove pnfs_generic_transfer_commit_list()Trond Myklebust1-0/+2
2017-09-09NFS: nfs_lock_and_join_requests and nfs_scan_commit_list can deadlockTrond Myklebust1-4/+11
2017-09-06NFS: don't expect errors from mempool_alloc().NeilBrown1-4/+2
2017-08-20Merge branch 'bugfixes'Trond Myklebust1-1/+1
2017-08-20NFS: Remove unused parameter gfp_flags from nfs_pageio_init()Trond Myklebust1-1/+1
2017-08-15NFS: Wait for requests that are locked on the commit listTrond Myklebust1-4/+13
2017-08-15NFS: Switch to using mapping->private_lock for page writeback lookups.Trond Myklebust1-11/+16
2017-08-15NFS: Use an atomic_long_t to count the number of commitsTrond Myklebust1-5/+7
2017-08-15NFS: Use an atomic_long_t to count the number of requestsTrond Myklebust1-13/+5
2017-08-15NFSv4: Use a mutex to protect the per-inode commit listsTrond Myklebust1-12/+12
2017-08-15NFS: Refactor nfs_page_find_head_request()Trond Myklebust1-12/+30
2017-08-15NFSv4: Convert nfs_lock_and_join_requests() to use nfs_page_find_head_request()Trond Myklebust1-15/+20
2017-08-15NFS: Fix up nfs_page_group_covers_page()Trond Myklebust1-12/+6
2017-08-15NFS: Remove unused parameter from nfs_page_group_lock()Trond Myklebust1-3/+3
2017-08-15NFS: Remove nfs_page_group_clear_bits()Trond Myklebust1-26/+3
2017-08-15NFS: Fix nfs_page_group_destroy() and nfs_lock_and_join_requests() race casesTrond Myklebust1-29/+29
2017-08-15NFS: Further optimise nfs_lock_and_join_requests()Trond Myklebust1-27/+18
2017-08-15NFS: Reduce inode->i_lock contention in nfs_lock_and_join_requests()Trond Myklebust1-18/+22
2017-08-15NFS: Remove page group limit in nfs_flush_incompatible()Trond Myklebust1-2/+0
2017-08-15NFS: Teach nfs_try_to_update_request() to deal with request page_groupsTrond Myklebust1-40/+20
2017-08-15NFS: Fix the inode request accounting when pages have subrequestsTrond Myklebust1-12/+15
2017-08-15NFS: Don't unlock writebacks before declaring PG_WB_ENDTrond Myklebust1-4/+4
2017-08-15NFS: Don't check request offset and size without holding a lockTrond Myklebust1-12/+12
2017-08-15NFS: Fix an ABBA issue in nfs_lock_and_join_requests()Trond Myklebust1-12/+17
2017-08-15NFS: Fix a reference and lock leak in nfs_lock_and_join_requests()Trond Myklebust1-2/+1
2017-08-15NFS: Reduce lock contention in nfs_try_to_update_request()Trond Myklebust1-5/+3
2017-08-15NFS: Reduce lock contention in nfs_page_find_head_request()Trond Myklebust1-3/+5
2017-08-15NFS: Simplify page writebackTrond Myklebust1-20/+10
2017-07-13NFS: Fix commit policy for non-blocking calls to nfs_write_inode()Trond Myklebust1-1/+1
2017-07-13NFS: Ensure we commit after writeback is completeTrond Myklebust1-0/+57
2017-05-10Merge tag 'nfs-for-4.12-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-65/+56
2017-05-08NFS append COMMIT after synchronous COPYOlga Kornievskaia1-30/+0
2017-04-26NFSv4: Don't special case "launder"Trond Myklebust1-16/+11
2017-04-25NFS: Don't write back further requests if there is a pending write errorTrond Myklebust1-4/+21
2017-04-20nfs: Convert to separately allocated bdiJan Kara1-7/+6
2017-04-20NFS: move rw_mode to nfs_pageio_headerBenjamin Coddington1-3/+5