Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-07-16 | search for null from start of dirent, not endkill-alloc-btree-hack | Kent Overstreet | |
2018-07-16 | add a mount opt to kill alloc btree | Kent Overstreet | |
2018-07-16 | bcachefs: Fix a bug when dropping invalid btree keys | Kent Overstreet | |
There was a missing set_btree_bset_end() call, leading to popped assertions later. Also add a quick and dirty debug option for injecting invalid keys. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-07-16 | bcachefs: Fix __bch2_strtoh | Kent Overstreet | |
when looking up the unit, it was matching against the trailing null in si_units Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-07-14 | bcachefs: work around an older xattr bug | Kent Overstreet | |
similar to the dirent bug - making struct bch_dirent and bch_xattr 8 byte aligned changed sizeof, and size calculations that used sizeof(bch_xattr)/sizeof(bch_dirent) wrong | |||
2018-07-12 | bcachefs: acl code improvements | Kent Overstreet | |
Fewer allocations, and to_disk/from_disk are considerably less sketchy now Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-07-12 | bcachefs: work around an older dirent bug | Kent Overstreet | |
2018-07-10 | bcachefs: fix BTREE_INSERT_NOUNLOCK | Kent Overstreet | |
btree_node_merge -> get_sibling -> btree_node_lock could drop locks, when using linked iterators | |||
2018-07-06 | bcachefs: fix a btree iter error path | Kent Overstreet | |
2018-07-01 | bcachefs: refactor bch2_btree_node_prefetch() | Kent Overstreet | |
2018-07-01 | bcachefs: bch2_btree_iter_traverse() no longer has to go up for intent locks | Kent Overstreet | |
2018-07-01 | bcachefs: don't expose extent whiteouts outside of btree code | Kent Overstreet | |
2018-06-30 | bcachefs: btree_iter_prev() | Kent Overstreet | |
2018-06-30 | bcachefs: kill BTREE_ITER_END | Kent Overstreet | |
prep work for btree_iter_prev() | |||
2018-06-30 | bcachefs: BTREE_ITER_TYPE | Kent Overstreet | |
also factor out bch2_btree_iter_checks() | |||
2018-06-30 | bcachefs: refactor bch2_btree_node_get_sibling() a bit | Kent Overstreet | |
2018-06-30 | bcachefs: improve btree_node_iter_prev() | Kent Overstreet | |
2018-06-30 | bcachefs: improve bkey_prev() | Kent Overstreet | |
2018-06-30 | bcachefs: fix __btree_node_iter_used() | Kent Overstreet | |
2018-06-30 | bcachefs: bch2_btree_iter_set_pos() can now go backwards | Kent Overstreet | |
2018-06-30 | bcachefs: More btree unit tests | Kent Overstreet | |
2018-06-30 | bcachefs: fix btree reserve calculations | Kent Overstreet | |
2018-06-28 | fixup! bcachefs: fix an assertion | Kent Overstreet | |
2018-06-27 | bcachefs: fix an assertion | Kent Overstreet | |
bch2_btree_iter_peek_slot() -> bch2_bkey_debugcheck() was popping, because __bch2_btree_iter_peek_slot() was using KEY_TYPE_DELETED for an extent hole | |||
2018-06-27 | bcachefs: delete some debug code | Kent Overstreet | |
2018-06-27 | bcachefs: add missing include | Kent Overstreet | |
2018-06-27 | bcachefs: BCH_NAME_MAX | Kent Overstreet | |
also fix some dirent bugs | |||
2018-06-27 | bcachefs: optimize __bch2_btree_iter_relock() | Kent Overstreet | |
bch2_btree_node_relock() and __bch2_btree_iter_relock() are now only used for relocking, not upgrading or downgrading locks, so we can split out bch2_btree_node_upgrade() and slim down the fast path. | |||
2018-06-27 | bcachefs: btree_node_lock_increment() | Kent Overstreet | |
2018-06-27 | bcachefs: btree_iter_get_locks() | Kent Overstreet | |
2018-06-27 | bcachefs: bch2_btree_iter_upgrade()/downgrade() | Kent Overstreet | |
Replaces bch2_btree_iter_set_locks_want() - also add more assertions Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-06-27 | bcachefs: Fix a minor memory leak | Kent Overstreet | |
2018-06-12 | bcachefs: Fix a bug in the str_hash code | Kent Overstreet | |
fixes b0f3e786995cb3b12975503f963e469db5a4f09b | |||
2018-06-11 | bcachefs: bch_sb_field_clean | Kent Overstreet | |
Implement a superblock field so we don't have to read the journal after a clean shutdown (and more importantly, we can verify what we find in the journal after a clean shutdown) Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-06-11 | bcachefs: Make some improvements to the journal shutdown code | Kent Overstreet | |
2018-06-11 | bcachefs: split out recovery.c | Kent Overstreet | |
2018-06-11 | bcachefs: btree gc refactoring | Kent Overstreet | |
2018-06-11 | bcachefs: fix a btree iter traverse error path | Kent Overstreet | |
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-06-07 | bcachefs: btree perf/unit tests | Kent Overstreet | |
The sysfs interface is crap and will be changed Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-06-05 | bcachefs: fix missing bch_crc_bytes entries | Kent Overstreet | |
2018-06-05 | bcachefs: add a discard mount option | Kent Overstreet | |
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> | |||
2018-06-03 | bcachefs: fix a minor fsync bug | Kent Overstreet | |
2018-06-03 | bcachefs: drop locks when needed in bch2_btree_node_get_sibling() | Kent Overstreet | |
2018-06-03 | bcachefs: btree iter refactoring | 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-03 | bcachefs: add a journal_seq_verify debug option | Kent Overstreet | |
2018-06-03 | bcachefs: implement BTREE_INSERT_NOUNLOCK | Kent Overstreet | |
BTREE_INSERT_NOUNLOCK means after a sucessful btree update, do not drop any locks (e.g. while merging nodes). This is going to be used to fix some locking primarily related to bi_size in bch_inode_info. | |||
2018-06-03 | bcachefs: use BTREE_ITER_END more consistently | Kent Overstreet | |
2018-06-02 | bcachefs: better bch2_strtoh() | Kent Overstreet | |
2018-06-01 | bcachefs: Fix a spurious error in fsck | Kent Overstreet | |
If fsck finds an unreachable directory, it could just be because we crashed between deleting the dirent and deleting the inode, since that isn't done atomically yet - it's only a real error if the directory isn't empty |