aboutsummaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/fs-io.c
AgeCommit message (Expand)AuthorFilesLines
10 daysbcachefs: fsync() should not return -EROFSKent Overstreet1-1/+4
11 daysbcachefs: iter/update/trigger/str_hash flag cleanupKent Overstreet1-2/+2
2024-04-13bcachefs: Fix missing write refs in fs fio pathsKent Overstreet1-8/+8
2024-01-22bcachefs: fix incorrect usage of REQ_OP_FLUSHChristoph Hellwig1-1/+1
2024-01-21bcachefs: Fix excess transaction restarts in __bchfs_fallocate()Kent Overstreet1-2/+5
2024-01-01bcachefs: return from fsync on writeback error to avoid early shutdownBrian Foster1-5/+9
2024-01-01bcachefs: kill INODE_LOCK, use lock_two_nondirectories()Kent Overstreet1-2/+4
2023-10-22bcachefs: Heap allocate btree_transKent Overstreet1-46/+38
2023-10-22bcachefs: remove redundant initializations of variables start_offset and end_...Colin Ian King1-2/+2
2023-10-22bcachefs: New io_misc.c helpersKent Overstreet1-190/+19
2023-10-22bcachefs: Break up io.cKent Overstreet1-1/+2
2023-10-22bcachefs: Add btree_trans* to inode_set_fnJoshua Ashton1-4/+8
2023-10-22bcachefs: Split up fs-io.[ch]Kent Overstreet1-2783/+18
2023-10-22bcachefs: Fix assorted checkpatch nitsKent Overstreet1-1/+1
2023-10-22bcachefs: Fix lock thrashing in __bchfs_fallocate()Kent Overstreet1-25/+56
2023-10-22bcachefs: Fix folio leak in folio_hole_offset()Kent Overstreet1-0/+1
2023-10-22bcachefs: Fallocate now checks page cacheKent Overstreet1-22/+61
2023-10-22bcachefs: Delete redundant log messagesKent Overstreet1-6/+1
2023-10-22bcachefs: Assorted sparse fixesKent Overstreet1-3/+3
2023-10-22bcachefs: Check for ERR_PTR() from filemap_lock_folio()Kent Overstreet1-5/+5
2023-10-22bcachefs: fs-io: Eliminate GFP_NOFS usageKent Overstreet1-3/+4
2023-10-22bcachefs: Avoid __GFP_NOFAILKent Overstreet1-41/+50
2023-10-22bcachefs: Fix quotas + snapshotsKent Overstreet1-1/+6
2023-10-22bcachefs: folio pos to bch_folio_sector index helperBrian Foster1-11/+17
2023-10-22bcachefs: use u64 for folio end pos to avoid overflowsBrian Foster1-11/+17
2023-10-22bcachefs: clean up post-eof folios on -ENOSPCBrian Foster1-2/+11
2023-10-22bcachefs: fix truncate overflow if folio is beyond EOFBrian Foster1-4/+13
2023-10-22bcachefs: Check for folios that don't have bch_folio attachedKent Overstreet1-1/+7
2023-10-22bcachefs: bch2_readahead() large folio conversionKent Overstreet1-35/+83
2023-10-22bcachefs: filemap_get_contig_folios_d()Kent Overstreet1-27/+43
2023-10-22bcachefs: bch_folio_sector_state improvementsKent Overstreet1-59/+94
2023-10-22bcachefs: bch2_truncate_page() large folio conversionKent Overstreet1-31/+30
2023-10-22bcachefs: bch2_buffered_write large folio conversionKent Overstreet1-80/+109
2023-10-22bcachefs: bch_folio can now handle multi-order foliosKent Overstreet1-8/+20
2023-10-22bcachefs: More assorted large folio conversionKent Overstreet1-30/+29
2023-10-22bcachefs: bch2_seek_pagecache_data() folio conversionKent Overstreet1-7/+5
2023-10-22bcachefs: bch2_seek_pagecache_hole() folio conversionKent Overstreet1-34/+26
2023-10-22bcachefs: bio_for_each_segment_all() -> bio_for_each_folio_all()Kent Overstreet1-14/+12
2023-10-22bcachefs: Initial folio conversionKent Overstreet1-296/+317
2023-10-22bcachefs: Rename bch_page_state -> bch_folioKent Overstreet1-58/+66
2023-10-22bcachefs: Add a bch_page_state assertKent Overstreet1-0/+2
2023-10-22bcachefs: Private error codes: ENOMEMKent Overstreet1-7/+13
2023-10-22bcachefs: Nocow supportKent Overstreet1-9/+89
2023-10-22bcachefs: Unwritten extents supportKent Overstreet1-7/+7
2023-10-22bcachefs: bch2_extent_fallocate()Kent Overstreet1-26/+5
2023-10-22bcachefs: Debug mode for c->writes referencesKent Overstreet1-2/+2
2023-10-22bcachefs: Use for_each_btree_key_upto() more consistentlyKent Overstreet1-13/+13
2023-10-22bcachefs: bch2_inode_opts_get()Kent Overstreet1-11/+23
2023-10-22bcachefs: New bpos_cmp(), bkey_cmp() replacementsKent Overstreet1-6/+6
2023-10-22bcachefs: More dio inliningKent Overstreet1-10/+14
2023-10-22bcachefs: Error message improvementKent Overstreet1-1/+3
2023-10-22bcachefs: Improve a few warningsKent Overstreet1-5/+11
2023-10-22bcachefs: Minor dio write path improvementsKent Overstreet1-33/+54
2023-10-22bcachefs: Factor out two_state_shared_lockKent Overstreet1-25/+25
2023-10-22bcachefs: Kill BCH_WRITE_FLUSHKent Overstreet1-7/+52
2023-10-22bcachefs: DIO write path optimizationKent Overstreet1-72/+103
2023-10-22bcachefs: BCH_WRITE_SYNCKent Overstreet1-0/+2
2023-10-22bcachefs: Fix a spurious warningKent Overstreet1-1/+2
2023-10-22bcachefs: Fix buffered write path for generic/275Kent Overstreet1-4/+15
2023-10-22bcachefs: Assorted checkpatch fixesKent Overstreet1-1/+1
2023-10-22bcachefs: Quota fixesKent Overstreet1-12/+6
2023-10-22bcachefs: Fix for not dropping privs in fallocateKent Overstreet1-2/+5
2023-10-22bcachefs: Fix bch2_write_begin()Kent Overstreet1-1/+1
2023-10-22bcachefs: Reflink now respects quotasKent Overstreet1-5/+60
2023-10-22bcachefs: Kill io_in_flight semaphoreKent Overstreet1-4/+0
2023-10-22bcachefs: Add private error codes for ENOSPCKent Overstreet1-2/+2
2023-10-22bcachefs: Errcodes can now subtype standard error codesKent Overstreet1-18/+31
2023-10-22bcachefs: EINTR -> BCH_ERR_transaction_restartKent Overstreet1-11/+11
2023-10-22bcachefs: Always use percpu_ref_tryget_live() on c->writesKent Overstreet1-1/+1
2023-10-22bcachefs: Delete bch_writepageKent Overstreet1-14/+0
2023-10-22bcachefs: Go emergency RO when i_blocks underflowsKent Overstreet1-4/+9
2023-10-22bcachefs: Don't skip triggers in fcollapse()Kent Overstreet1-7/+1
2023-10-22bcachefs: Convert some WARN_ONs to WARN_ON_ONCEKent Overstreet1-3/+3
2023-10-22bcachefs: Fix dio write path with loopback dio modeKent Overstreet1-2/+2
2023-10-22bcachefs: Use bio_iov_vecs_to_alloc()Kent Overstreet1-5/+3
2023-10-22bcachefs: Check for stale dirty pointer before readsKent Overstreet1-2/+0
2023-10-22bcachefs: BTREE_ITER_FILTER_SNAPSHOTS is selected automaticallyKent Overstreet1-1/+1
2023-10-22bcachefs: Fix an assertion in bch2_truncate()Kent Overstreet1-1/+2
2023-10-22bcachefs: Convert a BUG_ON() to a warningKent Overstreet1-1/+1
2023-10-22bcachefs: Fix page state after fallocateKent Overstreet1-38/+111
2023-10-22bcachefs: Fix page state when reading into !PageUptodate pagesKent Overstreet1-20/+111
2023-10-22bcachefs: Kill PAGE_SECTOR_SHIFTKent Overstreet1-6/+6
2023-10-22bcachefs: Apply workaround for too many btree iters to read pathKent Overstreet1-0/+4
2023-10-22bcachefs: SECTOR_DIRTY_RESERVEDKent Overstreet1-37/+60
2023-10-22bcachefs: Fix i_sectors_leak in bch2_truncate_pageKent Overstreet1-0/+5
2023-10-22bcachefs: Fix an i_sectors accounting bugKent Overstreet1-0/+2
2023-10-22bcachefs: Don't check for -ENOSPC in page writebackKent Overstreet1-15/+14
2023-10-22bcachefs: Fallocate fixesKent Overstreet1-101/+100
2023-10-22bcachefs: Switch fsync to use bi_journal_seqKent Overstreet1-29/+29
2023-10-22bcachefs: Fix restart handling in for_each_btree_key()Kent Overstreet1-4/+4
2023-10-22bcachefs: bch2_trans_exit() no longer returns errorsKent Overstreet1-3/+4
2023-10-22bcachefs: Convert io paths for snapshotsKent Overstreet1-28/+36
2023-10-22bcachefs: Plumb through subvolume idKent Overstreet1-11/+106
2023-10-22bcachefs: btree_pathKent Overstreet1-41/+41
2023-10-22bcachefs: Reduce iter->trans usageKent Overstreet1-1/+1
2023-10-22bcachefs: Fix an unhandled transaction restartKent Overstreet1-0/+9
2023-10-22bcachefs: Use bch2_trans_begin() more consistentlyKent Overstreet1-0/+4
2023-10-22bcachefs: Always check for transaction restartsKent Overstreet1-2/+2
2023-10-22bcachefs: Use bch2_inode_find_by_inum() in truncateKent Overstreet1-12/+1
2023-10-22bcachefs: Fix a memory leak in the dio write pathKent Overstreet1-4/+2
2023-10-22bcachefs: fix truncate without a size changeDan Robertson1-9/+10
2023-10-22bcachefs: fix truncate with ATTR_MODEKent Overstreet1-20/+23
2023-10-22bcachefs: Improve iter->should_be_lockedKent Overstreet1-1/+2
2023-10-22bcachefs: Fix a memory leak in dio write pathKent Overstreet1-1/+3
2023-10-22bcachefs: Preallocate transaction memKent Overstreet1-2/+2
2023-10-22bcachefs: Don't use bch_write_op->cl for delivering completionsKent Overstreet1-17/+6
2023-10-22bcachefs: Fix for buffered writes getting -ENOSPCKent Overstreet1-1/+2
2023-10-22bcachefs: Make bch2_remap_range respect O_SYNCKent Overstreet1-0/+5
2023-10-22bcachefs: Ratelimiting for writeback IOsKent Overstreet1-0/+4
2023-10-22bcachefs: Ensure that fpunch updates inode timestampsKent Overstreet1-0/+14
2023-10-22bcachefs: Refactor bchfs_fallocate() to not nest btree_trans on stackKent Overstreet1-55/+48
2023-10-22bcachefs: Require all btree iterators to be freedKent Overstreet1-22/+27
2023-10-22bcachefs: Kill reflink optionKent Overstreet1-3/+0
2023-10-22bcachefs: Fix read retry path for indirect extentsKent Overstreet1-2/+4
2023-10-22bcachefs: Rename BTREE_ID enums for consistency with other enumsKent Overstreet1-7/+7
2023-10-22bcachefs: Fix bch2_btree_iter_peek_prev()Kent Overstreet1-6/+4
2023-10-22bcachefs: Fix loopback in dio modeKent Overstreet1-4/+26
2023-10-22bcachefs: Fix .splice_writeKent Overstreet1-2/+1
2023-10-22bcachefs: Reduce/kill BKEY_PADDED useKent Overstreet1-9/+9
2023-10-22bcachefs: Change when we allow overwritesKent Overstreet1-1/+3
2023-10-22bcachefs: Don't write bucket IO time lazilyKent Overstreet1-1/+1
2023-10-22bcachefs: Flag inodes that had btree update errorsKent Overstreet1-2/+11
2023-10-22bcachefs: Improve some IO error messagesKent Overstreet1-1/+3
2023-10-22bcachefs: bch2_trans_get_iter() no longer returns errorsKent Overstreet1-3/+0
2023-10-22bcachefs: Fix for __readahead_batch getting partial batchKent Overstreet1-1/+1
2023-10-22bcachefs: Deadlock prevention for ei_pagecache_lockKent Overstreet1-2/+66
2023-10-22bcachefs: Use attach_page_private and detach_page_privateMatthew Wilcox (Oracle)1-25/+4
2023-10-22bcachefs: Remove page_state_init_for_readMatthew Wilcox (Oracle)1-6/+0
2023-10-22bcachefs: Fix rare use after free in read pathKent Overstreet1-3/+4
2023-10-22bcachefs: Fix __bch2_truncate_page()Kent Overstreet1-0/+7
2023-10-22bcachefs: Fix short buffered writesKent Overstreet1-10/+11
2023-10-22bcachefs: Don't cap ios in dio write path at 2 MBKent Overstreet1-10/+0
2023-10-22bcachefs: Refactor dio write code to reinit bch_write_opKent Overstreet1-37/+28
2023-10-22bcachefs: Add an option to disable reflink supportKent Overstreet1-0/+3
2023-10-22bcachefs: fix stack corruptionYuxuan Shui1-1/+1
2023-10-22bcachefs: Don't issue writes that are more than 1 MBKent Overstreet1-1/+12
2023-10-22bcachefs: Fix fallocate FL_INSERT_RANGEKent Overstreet1-5/+6
2023-10-22bcachefs: Fix a use after free in dio write pathKent Overstreet1-4/+3
2023-10-22bcachefs: Kill TRANS_RESET_MEM|TRANS_RESET_ITERSKent Overstreet1-1/+1
2023-10-22bcachefs: Sort & deduplicate updates in bch2_trans_update()Kent Overstreet1-34/+6
2023-10-22bcachefs: Split out btree_trigger_flagsKent Overstreet1-7/+6
2023-10-22bcachefs: Kill BTREE_INSERT_ATOMICKent Overstreet1-1/+0
2023-10-22bcachefs: Convert all bch2_trans_commit() users to BTREE_INSERT_ATOMICKent Overstreet1-3/+3
2023-10-22bcachefs: bch2_trans_reset() calls should be at the tops of loopsKent Overstreet1-2/+2
2023-10-22bcachefs: Fix for an assertion on filesystem errorKent Overstreet1-0/+9
2023-10-22bcachefs: bkey_on_stack_reassemble()Kent Overstreet1-4/+2
2023-10-22bcachefs: Reorganize extents.cKent Overstreet1-4/+4
2023-10-22bcachefs: Inline data extentsKent Overstreet1-0/+12
2023-10-22bcachefs: Split out extent_update.cKent Overstreet1-0/+1
2023-10-22bcachefs: Rework of cut_front & cut_backKent Overstreet1-4/+4
2023-10-22bcachefs: bkey_on_stackKent Overstreet1-41/+51
2023-10-22bcachefs: Use wbc_to_write_flags()Kent Overstreet1-4/+3
2023-10-22bcachefs: Some reflink fixesKent Overstreet1-7/+6
2023-10-22bcachefs: Eliminate function calls in DIO fastpathsKent Overstreet1-11/+15
2023-10-22bcachefs: DIO write path only needs to shoot down pagecache once, not twiceKent Overstreet1-19/+9
2023-10-22bcachefs: Add pagecache_add lock to buffered IO path, fault pathKent Overstreet1-2/+2
2023-10-22bcachefs: Don't hold inode lock longer than necessary in dio write pathKent Overstreet1-35/+54
2023-10-22bcachefs: Avoid atomics in write fast pathKent Overstreet1-20/+18
2023-10-22bcachefs: Fix an error path raceKent Overstreet1-1/+6
2023-10-22bcachefs: Refactor bch2_trans_commit() pathKent Overstreet1-11/+17
2023-10-22bcachefs: Limit bios in writepages path to 256MKent Overstreet1-0/+1
2023-10-22bcachefs: Kill bchfs_extent_update()Kent Overstreet1-189/+78
2023-10-22bcachefs: Convert bch2_fpunch to bch2_extent_update()Kent Overstreet1-97/+59
2023-10-22bcachefs: Split out bchfs_extent_update()Kent Overstreet1-145/+24
2023-10-22bcachefs: Kill some dependencies on ei_inodeKent Overstreet1-30/+62
2023-10-22bcachefs: Check if extending inode differentlyKent Overstreet1-22/+48
2023-10-22bcachefs: Add a lock to bch_page_stateKent Overstreet1-8/+16
2023-10-22bcachefs: bch2_extent_atomic_end() now traverses iterKent Overstreet1-8/+0
2023-10-22bcachefs: bch2_inode_peek()/bch2_inode_write()Kent Overstreet1-55/+32
2023-10-22bcachefs: Fix __bch2_buffered_write() returning -ENOMEMKent Overstreet1-2/+7
2023-10-22bcachefs: Rework btree iterator lifetimesKent Overstreet1-2/+2
2023-10-22bcachefs: Kill deferred btree updatesKent Overstreet1-56/+22
2023-10-22bcachefs: Fix for partial buffered writesKent Overstreet1-10/+10
2023-10-22bcachefs: BTREE_ITER_SLOTS isn't a type of btree iterKent Overstreet1-4/+3
2023-10-22bcachefs: Trivial cleanupKent Overstreet1-5/+1
2023-10-22bcachefs: Convert a BUG_ON() to a warningKent Overstreet1-2/+5
2023-10-22bcachefs: Handle bio_iov_iter_get_pages() returning unaligned bioKent Overstreet1-2/+19
2023-10-22bcachefs: Add support for FALLOC_FL_INSERT_RANGEKent Overstreet1-40/+91
2023-10-22bcachefs: Don't write past eofKent Overstreet1-5/+27
2023-10-22bcachefs: Improved bch2_fcollapse()Kent Overstreet1-39/+87
2023-10-22bcachefs: Inline some fast pathsKent Overstreet1-1/+1
2023-10-22bcachefs: Check alignment in write pathKent Overstreet1-4/+4
2023-10-22bcachefs: ReflinkKent Overstreet1-50/+168
2023-10-22bcachefs: Refactor bch2_extent_trim_atomic() for reflinkKent Overstreet1-2/+6
2023-10-22bcachefs: Mark space as unallocated on write failureKent Overstreet1-0/+9
2023-10-22bcachefs: Truncate/fpunch now works on block boundaries, not pageKent Overstreet1-25/+30
2023-10-22bcachefs: Count reserved extents as holesKent Overstreet1-8/+12
2023-10-22bcachefs: Handle partial pages in seek data/holeKent Overstreet1-30/+55
2023-10-22bcachefs: Change buffered write path to write to partial pagesKent Overstreet1-110/+152
2023-10-22bcachefs: Change __bch2_writepage() to not write to holesKent Overstreet1-56/+86
2023-10-22bcachefs: Fix bch2_seek_data()Kent Overstreet1-2/+2
2023-10-22bcachefs: Refactor various code to not be extent specificKent Overstreet1-2/+2
2023-10-22bcachefs: Dont't call bch2_trans_begin_updates() in bch2_extent_update()Kent Overstreet1-12/+18
2023-10-22bcachefs: Add offset_into_extent param to bch2_read_extent()Kent Overstreet1-14/+17
2023-10-22bcachefs: Track dirtyness at sector level, not pageKent Overstreet1-111/+233
2023-10-22bcachefs: Kill page_state_cmpxchgKent Overstreet1-73/+30
2023-10-22bcachefs: Always touch page state with page lockedKent Overstreet1-40/+53
2023-10-22bcachefs: Kill direct access to bi_io_vecKent Overstreet1-3/+3
2023-10-22bcachefs: More work to avoid transaction restartsKent Overstreet1-13/+9
2023-10-22bcachefs: Delete duplicate codeKent Overstreet1-3/+3