summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-08-12bcachefs: 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-08-12bcachefs: btree_node_lock_increment()Kent Overstreet
2018-08-12bcachefs: btree_iter_get_locks()Kent Overstreet
2018-08-12bcachefs: 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-08-12bcachefs: Fix a minor memory leakKent Overstreet
2018-08-12bcachefs: Fix a bug in the str_hash codeKent Overstreet
fixes b0f3e786995cb3b12975503f963e469db5a4f09b
2018-08-12bcachefs: bch_sb_field_cleanKent 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-08-12bcachefs: Make some improvements to the journal shutdown codeKent Overstreet
2018-08-12bcachefs: split out recovery.cKent Overstreet
2018-08-12bcachefs: btree gc refactoringKent Overstreet
2018-08-12bcachefs: fix a btree iter traverse error pathKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: btree perf/unit testsKent Overstreet
The sysfs interface is crap and will be changed Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: fix missing bch_crc_bytes entriesKent Overstreet
2018-08-12bcachefs: add a discard mount optionKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcachefs: fix a minor fsync bugKent Overstreet
2018-08-12bcachefs: drop locks when needed in bch2_btree_node_get_sibling()Kent Overstreet
2018-08-12bcachefs: btree iter refactoringKent Overstreet
2018-08-12bcachefs: fix a fun truncate bugKent 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-08-12bcachefs: add a journal_seq_verify debug optionKent Overstreet
2018-08-12bcachefs: implement BTREE_INSERT_NOUNLOCKKent 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-08-12bcachefs: use BTREE_ITER_END more consistentlyKent Overstreet
2018-08-12bcachefs: better bch2_strtoh()Kent Overstreet
2018-08-12bcachefs: Fix a spurious error in fsckKent 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
2018-08-12bcachefs: don't use BTREE_INSERT_NOWAIT when we're not supposed toKent Overstreet
was causing spurious journal replay failures
2018-08-12bcachefs: fix missing btree_iter_set_dirty() callKent Overstreet
2018-08-12bcachefs: btree allocation deadlock fixKent Overstreet
2018-08-12bcachefs: fix another minor locking bugKent Overstreet
2018-08-12bcachefs: fix error path in fallocateKent Overstreet
2018-08-12bcachefs: tighten up reserve sizesKent Overstreet
2018-08-12bcachefs: fix device sysfs linksKent Overstreet
2018-08-12bcachefs: fcollapse works on block granularity, not pageKent Overstreet
2018-08-12bcachefs: fix an error path in fcollapseKent Overstreet
2018-08-12bcachefs: fix SGID + aclsKent Overstreet
2018-08-12bcachefs: fix dio write when faulting in from file we're writing toKent Overstreet
2018-08-12bcachefs: drop some dead codeKent Overstreet
2018-08-12bcachefs: kill bch2_read_string_list()Kent Overstreet
2018-08-12bcachefs: Initial commitKent Overstreet
Fork of drivers/md/bcache Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12Dynamic fault injectionKent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12closures: closure_wait_event()Kent Overstreet
2018-08-12bcache: move closures to lib/Kent Overstreet
Prep work for bcachefs - being a fork of bcache it also uses closures Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12bcache: optimize continue_at_nobarrier()Kent Overstreet
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12Generic radix treesKent Overstreet
2018-08-12don't use spin_lock_irqsave() unnecessarilyKent Overstreet
We must be in process context here, else the code would be incorrect - __mark_inode_dirty uses normal spin_lock Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12locking: export osq_lock()/osq_unlock()Kent Overstreet
2018-08-12fs: factor out d_mark_tmpfile()Kent Overstreet
New helper for bcachefs - bcachefs doesn't want the inode_dec_link_count() call that d_tmpfile does, it handles i_nlink on its own atomically with other btree updates Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12fs: insert_inode_locked2()Kent Overstreet
New helper for bcachefs, so that when we race inserting an inode we can atomically grab a ref to the inode already in the inode cache. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2018-08-12mm: export find_get_pages()Kent Overstreet
2018-08-12mm: pagecache add lockKent Overstreet
Add a per address space lock around adding pages to the pagecache - making it possible for fallocate INSERT_RANGE/COLLAPSE_RANGE to work correctly, and also hopefully making truncate and dio a bit saner.
2018-08-12Linux 4.18v4.18Linus Torvalds
2018-08-12Merge tag 'scsi-fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "Eight fixes. The most important one is the mpt3sas fix which makes the driver work again on big endian systems. The rest are mostly minor error path or checker issues and the vmw_scsi one fixes a performance problem" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: vmw_pvscsi: Return DID_RESET for status SAM_STAT_COMMAND_TERMINATED scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled scsi: mpt3sas: Swap I/O memory read value back to cpu endianness scsi: fcoe: clear FC_RP_STARTED flags when receiving a LOGO scsi: fcoe: drop frames in ELS LOGO error path scsi: fcoe: fix use-after-free in fcoe_ctlr_els_send scsi: qedi: Fix a potential buffer overflow scsi: qla2xxx: Fix memory leak for allocating abort IOCB