aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/direct.c
AgeCommit message (Expand)AuthorFilesLines
2024-03-16Merge tag 'nfs-for-6.9-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-3/+15
2024-03-12mm, slab: remove last vestiges of SLAB_MEM_SPREADLinus Torvalds1-2/+1
2024-03-09nfs: fix UAF in direct writesJosef Bacik1-2/+9
2024-03-09nfs: properly protect nfs_direct_req fieldsJosef Bacik1-1/+6
2024-01-04NFS: drop unused nfs_direct_req bytes_leftBenjamin Coddington1-4/+2
2024-01-04pNFS: Fix the pnfs block driver's calculation of layoutget sizeTrond Myklebust1-2/+3
2023-09-13NFS: More fixes for nfs_direct_write_reschedule_io()Trond Myklebust1-6/+11
2023-09-13NFS: Use the correct commit info in nfs_join_page_group()Trond Myklebust1-3/+5
2023-09-13NFS: More O_DIRECT accounting fixes for error pathsTrond Myklebust1-16/+31
2023-09-13NFS: Fix O_DIRECT locking issuesTrond Myklebust1-4/+4
2023-09-11NFS: Fix error handling for O_DIRECT write schedulingTrond Myklebust1-16/+46
2023-08-24NFS: Fix a potential data corruptionTrond Myklebust1-1/+19
2023-08-17NFS: Fix a use after free in nfs_direct_join_group()Trond Myklebust1-10/+16
2023-02-14NFS: Clean up O_DIRECT request allocationTrond Myklebust1-8/+4
2022-08-10Merge tag 'nfs-for-5.20-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-35/+15
2022-08-08iov_iter: advancing variants of iov_iter_get_pages{,_alloc}()Al Viro1-4/+2
2022-08-08new iov_iter flavour - ITER_UBUFAl Viro1-1/+1
2022-07-23nfs: only issue commit in DIO codepath if we have uncommitted dataJeff Layton1-1/+1
2022-07-23nfs: always check dreq->error after a commitJeff Layton1-1/+2
2022-07-23nfs: add new nfs_direct_req tracepoint eventsJeff Layton1-33/+12
2022-05-09nfs: rename nfs_direct_IO and use as ->swap_rwNeilBrown1-13/+10
2022-03-13NFS: swap-out must always use STABLE writes.NeilBrown1-4/+6
2022-03-13NFS: swap IO handling is slightly different for O_DIRECT IONeilBrown1-14/+28
2022-01-10nfs: Convert to new fscache volume/cookie APIDave Wysochanski1-0/+2
2021-11-10Merge tag 'nfs-for-5.16-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-1/+1
2021-10-25fs: get rid of the res2 iocb->ki_complete argumentJens Axboe1-1/+1
2021-10-20NFS: Fix up commit deadlocksTrond Myklebust1-1/+1
2021-06-13NFSv4: Fix an Oops in pnfs_mark_request_commit() when doing O_DIRECTTrond Myklebust1-10/+7
2020-08-15Merge tag 'nfs-for-5.9-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-1/+1
2020-07-28NFS: remove redundant initialization of variable resultColin Ian King1-1/+1
2020-07-17SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO com...Olga Kornievskaia1-9/+4
2020-06-26NFSv4 fix CLOSE not waiting for direct IO compeletionOlga Kornievskaia1-4/+9
2020-06-11NFS: Fix direct WRITE throughput regressionChuck Lever1-0/+2
2020-06-11NFS: remove redundant initialization of variable resultColin Ian King1-1/+1
2020-04-01NFS: Try to join page groups before an O_DIRECT retransmissionTrond Myklebust1-0/+20
2020-04-01NFS: Fix a request reference leak in nfs_direct_write_clear_reqs()Trond Myklebust1-0/+1
2020-03-27NFS/pNFS: Clean up pNFS commit operationsTrond Myklebust1-4/+2
2020-03-27NFS: Remove bucket array from struct pnfs_ds_commit_infoTrond Myklebust1-1/+0
2020-03-27NFS: Fix O_DIRECT commit verifier handlingTrond Myklebust1-122/+13
2020-03-27NFS: commit errors should be fatalTrond Myklebust1-2/+30
2020-03-27NFS/pNFS: Allow O_DIRECT to release the DS commitinfoTrond Myklebust1-0/+1
2020-03-27NFSv4/pnfs: Support a list of commit arrays in struct pnfs_ds_commit_infoTrond Myklebust1-0/+1
2020-03-22NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context failsMisono Tomohiro1-0/+2
2020-01-15NFS: Fix nfs_direct_write_reschedule_io()Trond Myklebust1-1/+2
2020-01-15NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes()Trond Myklebust1-2/+2
2019-10-09NFS: Remove redundant mirror tracking in O_DIRECTTrond Myklebust1-42/+0
2019-10-09NFS: Fix O_DIRECT accounting of number of bytes read/writtenTrond Myklebust1-35/+43
2019-08-19NFS: Ensure O_DIRECT reports an error if the bytes read/written is 0Trond Myklebust1-9/+18
2019-05-21treewide: Add SPDX license identifier for missed filesThomas Gleixner1-0/+1
2019-04-25pNFS: Add tracking to limit the number of pNFS retriesTrond Myklebust1-0/+7
2019-04-25NFS: Remove unused argument from nfs_create_request()Trond Myklebust1-2/+2
2019-02-20NFS: Pass error information to the pgio error cleanup routineTrond Myklebust1-2/+2
2019-02-20NFS: Clean up list moves of struct nfs_pageTrond Myklebust1-2/+1
2018-12-02nfs: don't dirty kernel pages read by direct-ioDave Kleikamp1-1/+8
2018-08-08NFS: Use an appropriate work queue for direct-write completionNeilBrown1-1/+1
2018-03-08NFS: Fix an incorrect type in struct nfs_direct_reqTrond Myklebust1-1/+1
2018-01-16NFS: commit direct writes even if they fail partiallyJ. Bruce Fields1-3/+1
2017-08-15NFSv4: Use a mutex to protect the per-inode commit listsTrond Myklebust1-2/+2
2017-05-10Merge tag 'nfs-for-4.12-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-19/+2
2017-04-20NFS: Clean up nfs_direct_commit_complete()Anna Schumaker1-8/+1
2017-04-20NFS: Remove nfs_direct_readpage_release()Anna Schumaker1-11/+1
2017-04-17fix nfs O_DIRECT advancing iov_iter too muchAl Viro1-9/+18
2016-12-24Replace <asm/uaccess.h> with <linux/uaccess.h> globallyLinus Torvalds1-1/+1
2016-12-01NFS: Remove unused argument from nfs_direct_write_complete()Anna Schumaker1-6/+6
2016-09-23NFS: direct: use complete() instead of complete_all()Daniel Wagner1-1/+1
2016-07-30Merge tag 'nfs-for-4.8-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-61/+32
2016-07-28Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-3/+1
2016-07-24Merge branch 'writeback'Trond Myklebust1-61/+32
2016-07-05NFS: Cleanup nfs_direct_complete()Trond Myklebust1-7/+5
2016-07-05NFS: Do not serialise O_DIRECT reads and writesTrond Myklebust1-32/+9
2016-07-05NFS Cleanup: move call to generic_write_checks() into fs/nfs/direct.cTrond Myklebust1-4/+8
2016-07-05NFS: Remove racy size manipulations in O_DIRECTTrond Myklebust1-16/+0
2016-07-05NFS: Ensure we reset the write verifier 'committed' value on resend.Trond Myklebust1-0/+2
2016-07-05NFS: Fix O_DIRECT verifier problemsTrond Myklebust1-2/+8
2016-06-24NFS: Fix up O_DIRECT resultsTrond Myklebust1-3/+7
2016-05-29missed comment updates from ->direct_IO() prototype changeAl Viro1-3/+1
2016-05-26Merge tag 'nfs-for-4.7-1' of git://git.linux-nfs.org/projects/anna/linux-nfsLinus Torvalds1-7/+10
2016-05-17Merge branch 'work.preadv2' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-11/+10
2016-05-09NFS: Save struct inode * inside nfs_commit_info to clarify usage of i_lockDave Wysochanski1-5/+5
2016-05-09nfs: add debug to directio "good_bytes" countingWeston Andros Adamson1-2/+5
2016-05-02Merge getxattr prototype change into work.lookupsAl Viro1-1/+1
2016-05-01fs: simplify the generic_write_sync prototypeChristoph Hellwig1-1/+3
2016-05-01fs: add IOCB_SYNC and IOCB_DSYNCChristoph Hellwig1-1/+1
2016-05-01direct-io: eliminate the offset argument to ->direct_IOChristoph Hellwig1-10/+7
2016-04-10don't bother with ->d_inode->i_sb - it's always equal to ->d_sbAl Viro1-1/+1
2016-04-04mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macrosKirill A. Shutemov1-4/+4
2016-01-22wrappers for ->i_mutex accessAl Viro1-6/+6
2016-01-04Merge branch 'pnfs_generic'Trond Myklebust1-9/+24
2015-12-31NFSv4.1/pNFS: Don't queue up a new commit if the layout segment is invalidTrond Myklebust1-0/+12
2015-12-31NFS: Allow multiple commit requests in flight per fileTrond Myklebust1-6/+0
2015-12-31NFS/pNFS: Fix up pNFS write reschedule layering violations and bugsTrond Myklebust1-6/+15
2015-12-28NFS41: pop some layoutget errors to applicationPeng Tao1-1/+14
2015-09-22NFS: Skip checking ds_cinfo.buckets when lseg's commit_through_mds is setKinglong Mee1-2/+5
2015-04-26Merge tag 'nfs-for-4.1-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-21/+18
2015-04-24direct-io: only inc/dec inode->i_dio_count for file systemsJens Axboe1-5/+5
2015-04-23nfs: remove WARN_ON_ONCE from nfs_direct_good_bytesPeng Tao1-2/+0
2015-04-23nfs: fix DIO good bytes calculationPeng Tao1-12/+17
2015-04-15VFS: normal filesystems (and lustre): d_inode() annotationsDavid Howells1-2/+2
2015-04-15nfs: generic_write_checks() shouldn't be done on swapout...Al Viro1-9/+3
2015-04-11switch generic_write_checks() to iocb and iterAl Viro1-15/+10
2015-04-11generic_write_checks(): drop isblk argumentAl Viro1-1/+1
2015-04-11direct_IO: remove rw from a_ops->direct_IO()Omar Sandoval1-2/+1
2015-04-11direct_IO: use iov_iter_rw() instead of rw everywhereOmar Sandoval1-1/+1
2015-04-11Merge branch 'iocb' into for-nextAl Viro1-2/+2
2015-03-27NFSv4.1/pnfs: Ensure that writes respect the O_SYNC flag when doing O_DIRECTTrond Myklebust1-0/+1
2015-03-13fs: split generic and aio kiocbChristoph Hellwig1-1/+1
2015-03-13nfs: clean up nfs_direct_IOPeng Tao1-7/+0
2015-03-12fs: remove ki_nbytesChristoph Hellwig1-1/+1
2015-02-13NFS: struct nfs_commit_info.lock must always point to inode->i_lockTrond Myklebust1-1/+1
2015-02-03Merge branch 'flexfiles'Trond Myklebust1-17/+95
2015-02-03nfs: count DIO good bytes correctly with mirroringPeng Tao1-4/+8
2015-02-03nfs: add a helper to set NFS_ODIRECT_RESCHED_WRITES to direct writesPeng Tao1-0/+6
2015-02-03pnfs: fail comparison when bucket verifier not setWeston Andros Adamson1-1/+5
2015-02-03nfs: mirroring support for direct ioWeston Andros Adamson1-14/+57
2015-02-03nfs: add mirroring support to pgio layerWeston Andros Adamson1-3/+14
2015-02-03pnfs: pass ds_commit_idx through the commit pathWeston Andros Adamson1-2/+3
2015-02-03nfs: rename pgio header ds_idx to ds_commit_idxWeston Andros Adamson1-8/+6
2015-02-03pnfs: Do not grab the commit_info lock twice when rescheduling writesTom Haynes1-4/+15
2015-01-21nfs: fix dio deadlock when O_DIRECT flag is flippedPeng Tao1-0/+6
2014-11-12nfs: fix pnfs direct write memory leakPeng Tao1-0/+1
2014-10-18Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-7/+5
2014-10-14block: Remove REQ_KERNELMartin K. Petersen1-7/+5
2014-09-12NFS: Unconditionally enable commit codeAnna Schumaker1-14/+0
2014-07-13Merge branch 'bugfixes' into linux-nextTrond Myklebust1-2/+0
2014-07-12NFS: Remove 2 unused variablesTrond Myklebust1-2/+0
2014-06-24nfs: remove unused writeverf codeWeston Andros Adamson1-17/+8
2014-06-24nfs: merge nfs_pgio_data into _headerWeston Andros Adamson1-4/+4
2014-06-24nfs: move nfs_pgio_data and remove nfs_rw_headerWeston Andros Adamson1-4/+4
2014-06-12Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-224/+102
2014-05-29pnfs: support multiple verfs per direct reqWeston Andros Adamson1-5/+97
2014-05-29nfs: add support for multiple nfs reqs per pageWeston Andros Adamson1-2/+5
2014-05-29nfs: remove unused arg from nfs_create_requestWeston Andros Adamson1-4/+2
2014-05-28NFS: Move the write verifier into the nfs_pgio_headerAnna Schumaker1-2/+2
2014-05-28nfs: remove ->read_pageio_init from rpc opsChristoph Hellwig1-1/+1
2014-05-28nfs: remove ->write_pageio_init from rpc opsChristoph Hellwig1-2/+2
2014-05-06new helper: iov_iter_get_pages_alloc()Al Viro1-202/+88
2014-05-06get rid of pointless iov_length() in ->direct_IO()Al Viro1-7/+3
2014-05-06convert the guts of nfs_direct_IO() to iov_iterAl Viro1-25/+21
2014-05-06pass iov_iter to ->direct_IO()Al Viro1-4/+4
2014-01-13nfs: page cache invalidation for dioChristoph Hellwig1-2/+27
2014-01-13nfs: take i_mutex during direct I/O readsChristoph Hellwig1-2/+12
2014-01-13nfs: merge nfs_direct_write into nfs_file_direct_writeChristoph Hellwig1-50/+41
2014-01-13nfs: merge nfs_direct_read into nfs_file_direct_readChristoph Hellwig1-58/+49
2014-01-13nfs: increment i_dio_count for reads, tooChristoph Hellwig1-3/+6
2014-01-13nfs: defer inode_dio_done call until size update is doneChristoph Hellwig1-17/+15
2014-01-13nfs: fix size updates for aio writesChristoph Hellwig1-5/+16
2014-01-05NFS: dprintk() should not print negative fileids and inode numbersNiels de Vos1-2/+2
2013-10-24nfs: use %p[dD] instead of open-coded (and often racy) equivalentsAl Viro1-11/+6
2013-07-30aio: Kill aio_rw_vect_retry()Kent Overstreet1-1/+0
2012-12-12nfs: fix page dirtying in NFS DIO read codepathJeff Layton1-7/+2
2012-12-12nfs: don't zero out the rest of the page if we hit the EOF on a DIO READJeff Layton1-8/+0
2012-10-08NFS41: send real write size in layoutgetPeng Tao1-0/+7
2012-10-08NFS: track direct IO left bytesPeng Tao1-0/+5
2012-10-01NFSv41: fix DIO write_io calculationPeng Tao1-2/+2
2012-09-28NFS: Convert nfs_get_lock_context to return an ERR_PTR on failureTrond Myklebust1-4/+12
2012-07-31Merge branch 'akpm' (Andrew's patch-bomb)Linus Torvalds1-28/+54
2012-07-31nfs: enable swap on NFSMel Gorman1-28/+54
2012-07-30NFS: Convert v4 into a moduleBryan Schumaker1-1/+1
2012-07-30NFS: Convert v3 into a moduleBryan Schumaker1-1/+1
2012-07-30NFS: fix pnfs regression with directio writesFred Isaman1-2/+2
2012-07-30NFS: fix pnfs regression with directio readsFred Isaman1-1/+1
2012-07-08NFS: Fix list manipulation snafus in fs/nfs/direct.cTrond Myklebust1-1/+5
2012-06-19NFS: Fix a refcounting issue in O_DIRECTTrond Myklebust1-0/+1
2012-06-15Merge tag 'nfs-for-3.5-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfsLinus Torvalds1-4/+4
2012-06-09NFS: fix directio refcount bug on commitFred Isaman1-2/+2
2012-06-05NFS: Fix a commit bugTrond Myklebust1-2/+2
2012-05-31NFS: Ensure that setattr and getattr wait for O_DIRECT write completionTrond Myklebust1-3/+12
2012-05-24NFSv4.1 add nfs_inode book keeping for mdsthresholdAndy Adamson1-0/+2
2012-05-09NFS: Clean up - Simplify reference counting in fs/nfs/direct.cTrond Myklebust1-11/+4
2012-05-09NFS: Clean up - Rename nfs_unlock_request and nfs_unlock_request_dont_releaseTrond Myklebust1-5/+5
2012-05-09NFS: Clean up - simplify nfs_lock_request()Trond Myklebust1-0/+1
2012-05-04NFS: Fix sparse warningsTrond Myklebust1-1/+1
2012-05-04NFS: Fix O_DIRECT compile warningsTrond Myklebust1-4/+4
2012-05-01NFS: Simplify the nfs_read_completion functionsTrond Myklebust1-28/+20
2012-04-30NFS: Use kmem_cache_zalloc() in nfs_direct_req_allocTrond Myklebust1-11/+1
2012-04-30NFS: Simplify O_DIRECT page referencingTrond Myklebust1-16/+6
2012-04-30NFS: O_DIRECT pgio_completion_ops error_cleanup must unlock the requestTrond Myklebust1-3/+15
2012-04-30NFS: Ensure that we break out of read/write_schedule_segment on errorTrond Myklebust1-2/+3
2012-04-30NFS: Define nfs_direct_write_schedule_work() when v3 and v4 are disabledBryan Schumaker1-0/+3
2012-04-27NFS: rewrite directio write to use async coalesce codeFred Isaman1-297/+230
2012-04-27NFS: rewrite directio read to use async coalesce codeFred Isaman1-132/+123
2012-04-27NFS: merge _full and _partial write rpc_opsFred Isaman1-2/+8
2012-04-27NFS: merge _full and _partial read rpc_opsFred Isaman1-2/+8
2012-04-27NFS: create struct nfs_page_arrayFred Isaman1-17/+23
2012-04-27NFS: create common nfs_pgio_header for both read and writeFred Isaman1-23/+50
2012-04-27NFS: dprintks in directio code were referencing task after putFred Isaman1-4/+4
2012-04-27NFS: add a struct nfs_commit_data to replace nfs_write_data in commitsFred Isaman1-10/+7
2012-04-27NFS: grab open context in direct readFred Isaman1-2/+2
2012-03-28Merge tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub...Linus Torvalds1-1/+0
2012-03-28Remove all #inclusions of asm/system.hDavid Howells1-1/+0
2012-03-21NFS: Remove nfs4_setup_sequence from generic read codeBryan Schumaker1-2/+0
2012-03-21NFS: Remove nfs4_setup_sequence from generic write codeBryan Schumaker1-4/+0
2011-07-26atomic: use <linux/atomic.h>Arun Sharma1-1/+1
2011-07-20nfs_open_context doesn't need struct path eitherAl Viro1-2/+2
2011-03-11NFS: account direct-io into task io accountingKonstantin Khlebnikov1-0/+5
2011-03-11NFS: remove pointless if statement in nfs_direct_write_resultFred Isaman1-2/+1
2011-01-25NFS: Fix "kernel BUG at fs/aio.c:554!"Chuck Lever1-14/+20
2010-11-22Pure nfs client performance using odirect.Arun Bharadwaj1-1/+1
2010-10-28Fixed Regression in NFS Direct I/O pathSteve Dickson1-1/+1
2010-07-30NFSv4: Ensure that we track the NFSv4 lock state in read/write requests.Trond Myklebust1-7/+22