From 0766bee8fdf3973953fd3184f63dfe2a0760c08d Mon Sep 17 00:00:00 2001
From: Kent Overstreet <kent.overstreet@gmail.com>
Date: Mon, 9 May 2022 12:40:49 -0400
Subject: [PATCH] Update bcachefs sources to c4ca278a54 bcachefs: Delete
 bch_writepage

---
 .bcachefs_revision   |  2 +-
 libbcachefs/darray.h |  3 ++-
 libbcachefs/fs-io.c  | 14 --------------
 libbcachefs/fs-io.h  |  1 -
 libbcachefs/fs.c     |  1 -
 libbcachefs/opts.h   | 14 +++-----------
 6 files changed, 6 insertions(+), 29 deletions(-)

diff --git a/.bcachefs_revision b/.bcachefs_revision
index 4fb144ee..9aed74e1 100644
--- a/.bcachefs_revision
+++ b/.bcachefs_revision
@@ -1 +1 @@
-bdf6d7c1350497bc7b0be6027a51d9330645672d
+c4ca278a540bd2f99864f198a6ec9b4cb1f1fd44
diff --git a/libbcachefs/darray.h b/libbcachefs/darray.h
index 049e1d1e..519ab9b9 100644
--- a/libbcachefs/darray.h
+++ b/libbcachefs/darray.h
@@ -51,10 +51,11 @@ static inline int __darray_make_room(darray_void *d, size_t t_size, size_t more)
 
 #define darray_insert_item(_d, _pos, _item)				\
 ({									\
+	size_t pos = (_pos);						\
 	int _ret = darray_make_room((_d), 1);				\
 									\
 	if (!_ret)							\
-		array_insert_item((_d)->data, (_d)->nr, (_pos), (_item));\
+		array_insert_item((_d)->data, (_d)->nr, pos, (_item));	\
 	_ret;								\
 })
 
diff --git a/libbcachefs/fs-io.c b/libbcachefs/fs-io.c
index 4cb2b2eb..020e603c 100644
--- a/libbcachefs/fs-io.c
+++ b/libbcachefs/fs-io.c
@@ -1508,20 +1508,6 @@ int bch2_writepages(struct address_space *mapping, struct writeback_control *wbc
 	return ret;
 }
 
-int bch2_writepage(struct page *page, struct writeback_control *wbc)
-{
-	struct bch_fs *c = page->mapping->host->i_sb->s_fs_info;
-	struct bch_writepage_state w =
-		bch_writepage_state_init(c, to_bch_ei(page->mapping->host));
-	int ret;
-
-	ret = __bch2_writepage(page, wbc, &w);
-	if (w.io)
-		bch2_writepage_do_io(&w);
-
-	return ret;
-}
-
 /* buffered writes: */
 
 int bch2_write_begin(struct file *file, struct address_space *mapping,
diff --git a/libbcachefs/fs-io.h b/libbcachefs/fs-io.h
index b24efeaf..e073dc83 100644
--- a/libbcachefs/fs-io.h
+++ b/libbcachefs/fs-io.h
@@ -15,7 +15,6 @@ int __must_check bch2_write_inode_size(struct bch_fs *,
 				       struct bch_inode_info *,
 				       loff_t, unsigned);
 
-int bch2_writepage(struct page *, struct writeback_control *);
 int bch2_readpage(struct file *, struct page *);
 
 int bch2_writepages(struct address_space *, struct writeback_control *);
diff --git a/libbcachefs/fs.c b/libbcachefs/fs.c
index d462c068..c5801a3f 100644
--- a/libbcachefs/fs.c
+++ b/libbcachefs/fs.c
@@ -1112,7 +1112,6 @@ static const struct inode_operations bch_special_inode_operations = {
 };
 
 static const struct address_space_operations bch_address_space_operations = {
-	.writepage	= bch2_writepage,
 	.readpage	= bch2_readpage,
 	.writepages	= bch2_writepages,
 	.readahead	= bch2_readahead,
diff --git a/libbcachefs/opts.h b/libbcachefs/opts.h
index 85f02960..6a1cd41e 100644
--- a/libbcachefs/opts.h
+++ b/libbcachefs/opts.h
@@ -449,17 +449,9 @@ struct bch_option {
 	enum opt_flags		flags;
 	u64			min, max;
 
-	union {
-	struct {
-	};
-	struct {
-		const char * const *choices;
-	};
-	struct {
-		int (*parse)(struct bch_fs *, const char *, u64 *);
-		void (*to_text)(struct printbuf *, struct bch_fs *, struct bch_sb *, u64);
-	};
-	};
+	const char * const *choices;
+	int (*parse)(struct bch_fs *, const char *, u64 *);
+	void (*to_text)(struct printbuf *, struct bch_fs *, struct bch_sb *, u64);
 
 	const char		*hint;
 	const char		*help;