Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
Replaces bch2_btree_iter_set_locks_want() - also add more assertions
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
|
|
fixes b0f3e786995cb3b12975503f963e469db5a4f09b
|
|
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>
|
|
|
|
|
|
|
|
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
The sysfs interface is crap and will be changed
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
|
|
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
|
|
|
|
|
|
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>
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
was causing spurious journal replay failures
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fork of drivers/md/bcache
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
|
|
Prep work for bcachefs - being a fork of bcache it also uses closures
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
|
|
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
|
|
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.
|
|
|
|
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
|