summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2022-08-10 20:28:55 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2022-08-11 17:34:34 -0400
commitddac1641ee1e2686c2211a8d671ea723634dfc89 (patch)
tree0596db2376fb5cbdcd83bf1642efdc7868ade480 /linux
parenta6128b5335a79cd68b9dbb6b083a835d94539d04 (diff)
Update bcachefs sources to 90a9c61e2b bcachefs: Switch bch2_btree_delete_range() to bch2_trans_run()
Diffstat (limited to 'linux')
-rw-r--r--linux/bio.c2
-rw-r--r--linux/blkdev.c2
-rw-r--r--linux/six.c20
3 files changed, 22 insertions, 2 deletions
diff --git a/linux/bio.c b/linux/bio.c
index 5e19c8ad..93a791c4 100644
--- a/linux/bio.c
+++ b/linux/bio.c
@@ -293,7 +293,7 @@ void bio_reset(struct bio *bio, struct block_device *bdev, unsigned int opf)
atomic_set(&bio->__bi_remaining, 1);
}
-struct bio *bio_kmalloc(gfp_t gfp_mask, unsigned int nr_iovecs)
+struct bio *bio_kmalloc(unsigned int nr_iovecs, gfp_t gfp_mask)
{
struct bio *bio;
diff --git a/linux/blkdev.c b/linux/blkdev.c
index bd9dc9cc..9b3ea93f 100644
--- a/linux/blkdev.c
+++ b/linux/blkdev.c
@@ -113,7 +113,7 @@ int submit_bio_wait(struct bio *bio)
int blkdev_issue_discard(struct block_device *bdev,
sector_t sector, sector_t nr_sects,
- gfp_t gfp_mask, unsigned long flags)
+ gfp_t gfp_mask)
{
return 0;
}
diff --git a/linux/six.c b/linux/six.c
index fca12087..5b2d92c6 100644
--- a/linux/six.c
+++ b/linux/six.c
@@ -757,3 +757,23 @@ void six_lock_pcpu_alloc(struct six_lock *lock)
#endif
}
EXPORT_SYMBOL_GPL(six_lock_pcpu_alloc);
+
+/*
+ * Returns lock held counts, for both read and intent
+ */
+struct six_lock_count six_lock_counts(struct six_lock *lock)
+{
+ struct six_lock_count ret = { 0, lock->state.intent_lock };
+
+ if (!lock->readers)
+ ret.read += lock->state.read_lock;
+ else {
+ int cpu;
+
+ for_each_possible_cpu(cpu)
+ ret.read += *per_cpu_ptr(lock->readers, cpu);
+ }
+
+ return ret;
+}
+EXPORT_SYMBOL_GPL(six_lock_counts);