Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-07-01 | bcachefs: don't expose extent whiteouts outside of btree code | Kent Overstreet | |
2018-06-03 | bcachefs: fix a minor fsync bug | Kent Overstreet | |
2018-06-03 | bcachefs: fix a fun truncate bug | Kent Overstreet | |
truncate was leaving extents past the end of i_size. Turns out, it was doing so because it thought it wasn't shrinking the file when it was, and it thought it wasn't shrinking because i_size had gotten screwed up - the in memory i_size was smaller than the on disk i_size, which is never supposed to happen. Also turns out, the thing that was screwing up i_size was truncate - specifically, the error path when the filemap_write_and_wait_range() call fails. Besides fixing truncate itself, this patch also fixes and makes rigorous a lot of the locking pertaining to i_size and ei_inode (the cached on disk inode in bch_inode_info). Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-06-01 | bcachefs: fix error path in fallocate | Kent Overstreet | |
2018-06-01 | bcachefs: fcollapse works on block granularity, not page | Kent Overstreet | |
2018-06-01 | bcachefs: fix an error path in fcollapse | Kent Overstreet | |
2018-06-01 | bcachefs: fix dio write when faulting in from file we're writing to | Kent Overstreet | |
2018-05-22 | bcachefs: dio read path fix | Kent Overstreet | |
generic_file_read_iter() gets _really_ confused by the iov iter being truncated... | |||
2018-05-22 | bcachefs: fixes for 32 bit/big endian machines | Kent Overstreet | |
2018-05-22 | bcachefs: fix assorted sparse-isms | Kent Overstreet | |
2018-05-22 | bcachefs: New time stats code (with quantiles) | Kent Overstreet | |
2018-05-22 | bcachefs: buffered write path optimization | Kent Overstreet | |
2018-05-22 | bcachefs: fix a page flags bug | Kent Overstreet | |
2018-05-22 | bcachefs: Fix a locking bug | Kent Overstreet | |
bch2_releasepage() can't take locks that are held while allocating memory, unless GFP_NOFS is used - ei_update_lock is held while calling into btree code that uses GFP_NOIO | |||
2018-05-22 | bcachefs: Centralize error handling in read path | Kent Overstreet | |
prep work for erasure coding - need to plumb in reconstruct reads | |||
2018-05-22 | bcachefs: convert BUG_ON()s to warnings | Kent Overstreet | |
also refactor extents update path a bit, and a possible fix for the bug observed by the assertion in fs-io.c | |||
2018-05-22 | bcachefs: drop writeback throttling code | Kent Overstreet | |
block layer has throttling now | |||
2018-05-22 | bcachefs: Convert tiering/promote code to disk groups | Kent Overstreet | |
2018-05-22 | bcachefs: fixes for check_set_has_compressed_data() | Kent Overstreet | |
2018-05-22 | bcachefs: zstd support, compression refactoring | Kent Overstreet | |
2018-05-22 | bcachefs: use reserve when open buckets pinned | Kent Overstreet | |
2018-05-22 | bcachefs: -o verbose_init, more error messages | Kent Overstreet | |
for tracing problems with mount | |||
2018-05-22 | bcachefs: optimize bch2_btree_iter_traverse() calls | Kent Overstreet | |
Reduce unnecessary calls, and also call it from bch2_btree_insert_at() when needed Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-05-22 | bcachefs: btree_iter_next()/btree_iter_next_slot() | Kent Overstreet | |
previously, bch2_btree_iter_advance_pos() would use iter->k to calculate the next iterator position, assuming iter->k had been set by bch2_btree_iter_peek()/peek_with_holes(); this was busted because it was possible in certain codepaths to call bch2_btree_iter_advance_pos() when either iter->k hadn't been initialized, or bch2_btree_iter_traverse() -> btree_iter_down() had scribbled over it. This gets rid of bch2_btree_iter_advance_pos, in favor of bch2_btree_iter_next() and bche_btree_iter_next_slot(), which both just call peek() internall if the iterator isn't uptodate. It's a performance improvement, too. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-05-22 | bcachefs: quota limit enforcement | Kent Overstreet | |
2018-05-22 | bcachefs: don't call page_state_cmpxchg() from bch2_writepage_io_done() | Kent Overstreet | |
it'll make things saner if we can only touch page state under page lock | |||
2018-05-22 | bcachefs: bch2_disk_reservation_init() | Kent Overstreet | |
also fix another bug with reservation nr_replicas being used inconsistently | |||
2018-05-22 | bcachefs: fixes for buffered io & replication | Kent Overstreet | |
2018-05-22 | bcachefs: organize fs-io.c a bit better | Kent Overstreet | |
2018-05-22 | bcachefs: Quota accounting | Kent Overstreet | |
2018-05-22 | bcachefs: dio write path improvements | Kent Overstreet | |
fix a few minor bugs, hopefully make the flow control easier to follow | |||
2018-05-22 | bcachefs: fix unitialized bch_read_bio | Kent Overstreet | |
2018-05-22 | bcachefs: fix dio write path with replication enabled | Kent Overstreet | |
2018-05-22 | bcachefs: i_blocks acct refactoring | Kent Overstreet | |
2018-05-22 | bcachefs: more trivial refactoring | Kent Overstreet | |
2018-05-22 | bcachefs: Add io policy fields to inodes | Kent Overstreet | |
2018-05-22 | bcachefs: make dio writes to fallocated space not return -ENOSPC | Kent Overstreet | |
2018-05-22 | bcachefs: kill extent_insert_hook | Kent Overstreet | |
this is to make it possible to return -ENOSPC from the extent insert hook | |||
2018-05-22 | bcachefs: Add mechanism to exclude devices to allocate from | Kent Overstreet | |
2018-05-22 | bcachefs: Kill foreground write ratelimiting | Kent Overstreet | |
this code won't work with the new disk groups approach, and it wasn't all that useful anyways | |||
2018-05-22 | bcachefs: inject some faults, add some assertions | Kent Overstreet | |
2018-05-22 | bcachefs: Bring back dedicated write points for copygc | Kent Overstreet | |
they were required to prevent the copygc reserve from being used by other writes | |||
2018-05-22 | bcachefs: struct bch_extent_crc_unpacked | Kent Overstreet | |
2018-05-22 | bcachefs: Make write points more dynamic | Kent Overstreet | |
2018-05-22 | bcachefs: rename ei -> inode | Kent Overstreet | |
2018-05-22 | bcachefs: pass around struct bch_inode_info *, not struct inode * | Kent Overstreet | |
2018-05-22 | bcachefs: rename bch_inode_info fields | Kent Overstreet | |
2018-05-22 | bcachefs: rename bch_inode fields | Kent Overstreet | |
2018-05-22 | bcachefs: Fix some locking bugs | Kent Overstreet | |
2018-05-22 | bcachefs: Cleanups for building in userspace | Kent Overstreet | |