linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nikolay Borisov <n.borisov.lkml@gmail.com>
To: dsterba@suse.com
Cc: linux-btrfs@vger.kernel.org, Nikolay Borisov <nborisov@suse.com>
Subject: [PATCH 37/38] btrfs: Make get_extent_t take btrfs_inode
Date: Fri, 17 Feb 2017 16:43:28 +0200	[thread overview]
Message-ID: <1487342609-20652-38-git-send-email-nborisov@suse.com> (raw)
In-Reply-To: <1487342609-20652-1-git-send-email-nborisov@suse.com>

In addition to changing the signature, this patch also switches
all the functions which are used as an argument to also take btrfs_inode.
Namely those are: btrfs_get_extent and btrfs_get_extent_filemap.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
---
 fs/btrfs/ctree.h     |  4 ++--
 fs/btrfs/disk-io.c   |  6 +++---
 fs/btrfs/extent_io.c |  6 +++---
 fs/btrfs/extent_io.h |  2 +-
 fs/btrfs/file.c      |  6 +++---
 fs/btrfs/inode.c     | 24 ++++++++++++------------
 fs/btrfs/ioctl.c     |  2 +-
 7 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index d44d414a2127..7ac0338379b4 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -3100,7 +3100,7 @@ struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode,
 						    int delay_iput);
 void btrfs_wait_and_free_delalloc_work(struct btrfs_delalloc_work *work);
 
-struct extent_map *btrfs_get_extent_fiemap(struct inode *inode, struct page *page,
+struct extent_map *btrfs_get_extent_fiemap(struct btrfs_inode *inode, struct page *page,
 					   size_t pg_offset, u64 start, u64 len,
 					   int create);
 noinline int can_nocow_extent(struct inode *inode, u64 offset, u64 *len,
@@ -3166,7 +3166,7 @@ void btrfs_destroy_cachep(void);
 long btrfs_ioctl_trans_end(struct file *file);
 struct inode *btrfs_iget(struct super_block *s, struct btrfs_key *location,
 			 struct btrfs_root *root, int *was_new);
-struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page,
+struct extent_map *btrfs_get_extent(struct btrfs_inode *inode, struct page *page,
 				    size_t pg_offset, u64 start, u64 end,
 				    int create);
 int btrfs_update_inode(struct btrfs_trans_handle *trans,
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 32a9ec11888d..3c0dd67333ee 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -219,12 +219,12 @@ void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb,
  * extents on the btree inode are pretty simple, there's one extent
  * that covers the entire device
  */
-static struct extent_map *btree_get_extent(struct inode *inode,
+static struct extent_map *btree_get_extent(struct btrfs_inode *inode,
 		struct page *page, size_t pg_offset, u64 start, u64 len,
 		int create)
 {
-	struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
-	struct extent_map_tree *em_tree = &BTRFS_I(inode)->extent_tree;
+	struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb);
+	struct extent_map_tree *em_tree = &inode->extent_tree;
 	struct extent_map *em;
 	int ret;
 
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index fad5b2030c37..887d8a896ce1 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -2857,7 +2857,7 @@ __get_extent_map(struct inode *inode, struct page *page, size_t pg_offset,
 		*em_cached = NULL;
 	}
 
-	em = get_extent(inode, page, pg_offset, start, len, 0);
+	em = get_extent(BTRFS_I(inode), page, pg_offset, start, len, 0);
 	if (em_cached && !IS_ERR_OR_NULL(em)) {
 		BUG_ON(*em_cached);
 		atomic_inc(&em->refs);
@@ -3370,7 +3370,7 @@ static noinline_for_stack int __extent_writepage_io(struct inode *inode,
 							 page_end, NULL, 1);
 			break;
 		}
-		em = epd->get_extent(inode, page, pg_offset, cur,
+		em = epd->get_extent(BTRFS_I(inode), page, pg_offset, cur,
 				     end - cur + 1, 1);
 		if (IS_ERR_OR_NULL(em)) {
 			SetPageError(page);
@@ -4335,7 +4335,7 @@ static struct extent_map *get_extent_skip_holes(struct inode *inode,
 		if (len == 0)
 			break;
 		len = ALIGN(len, sectorsize);
-		em = get_extent(inode, NULL, 0, offset, len, 0);
+		em = get_extent(BTRFS_I(inode), NULL, 0, offset, len, 0);
 		if (IS_ERR_OR_NULL(em))
 			return em;
 
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h
index 302e64be2e20..5e922e87abab 100644
--- a/fs/btrfs/extent_io.h
+++ b/fs/btrfs/extent_io.h
@@ -210,7 +210,7 @@ static inline int extent_compress_type(unsigned long bio_flags)
 
 struct extent_map_tree;
 
-typedef struct extent_map *(get_extent_t)(struct inode *inode,
+typedef struct extent_map *(get_extent_t)(struct btrfs_inode *inode,
 					  struct page *page,
 					  size_t pg_offset,
 					  u64 start, u64 len,
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 2d534d6c5514..d3e25730cdf0 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -2334,7 +2334,7 @@ static int find_first_non_hole(struct inode *inode, u64 *start, u64 *len)
 	struct extent_map *em;
 	int ret = 0;
 
-	em = btrfs_get_extent(inode, NULL, 0, *start, *len, 0);
+	em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, *start, *len, 0);
 	if (IS_ERR_OR_NULL(em)) {
 		if (!em)
 			ret = -ENOMEM;
@@ -2824,7 +2824,7 @@ static long btrfs_fallocate(struct file *file, int mode,
 	/* First, check if we exceed the qgroup limit */
 	INIT_LIST_HEAD(&reserve_list);
 	while (1) {
-		em = btrfs_get_extent(inode, NULL, 0, cur_offset,
+		em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, cur_offset,
 				      alloc_end - cur_offset, 0);
 		if (IS_ERR_OR_NULL(em)) {
 			if (!em)
@@ -2951,7 +2951,7 @@ static int find_desired_extent(struct inode *inode, loff_t *offset, int whence)
 			 &cached_state);
 
 	while (start < inode->i_size) {
-		em = btrfs_get_extent_fiemap(inode, NULL, 0, start, len, 0);
+		em = btrfs_get_extent_fiemap(BTRFS_I(inode), NULL, 0, start, len, 0);
 		if (IS_ERR(em)) {
 			ret = PTR_ERR(em);
 			em = NULL;
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 1ba412440979..d78ec8d78781 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -4843,7 +4843,7 @@ int btrfs_cont_expand(struct inode *inode, loff_t oldsize, loff_t size)
 
 	cur_offset = hole_start;
 	while (1) {
-		em = btrfs_get_extent(inode, NULL, 0, cur_offset,
+		em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, cur_offset,
 				block_end - cur_offset, 0);
 		if (IS_ERR(em)) {
 			err = PTR_ERR(em);
@@ -6721,25 +6721,25 @@ static noinline int uncompress_inline(struct btrfs_path *path,
  * This also copies inline extents directly into the page.
  */
 
-struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page,
+struct extent_map *btrfs_get_extent(struct btrfs_inode *inode, struct page *page,
 				    size_t pg_offset, u64 start, u64 len,
 				    int create)
 {
-	struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
+	struct btrfs_fs_info *fs_info = btrfs_sb(inode->vfs_inode.i_sb);
 	int ret;
 	int err = 0;
 	u64 extent_start = 0;
 	u64 extent_end = 0;
-	u64 objectid = btrfs_ino(BTRFS_I(inode));
+	u64 objectid = btrfs_ino(inode);
 	u32 found_type;
 	struct btrfs_path *path = NULL;
-	struct btrfs_root *root = BTRFS_I(inode)->root;
+	struct btrfs_root *root = inode->root;
 	struct btrfs_file_extent_item *item;
 	struct extent_buffer *leaf;
 	struct btrfs_key found_key;
 	struct extent_map *em = NULL;
-	struct extent_map_tree *em_tree = &BTRFS_I(inode)->extent_tree;
-	struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
+	struct extent_map_tree *em_tree = &inode->extent_tree;
+	struct extent_io_tree *io_tree = &inode->io_tree;
 	struct btrfs_trans_handle *trans = NULL;
 	const bool new_inline = !page || create;
 
@@ -6852,7 +6852,7 @@ struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page,
 		goto not_found_em;
 	}
 
-	btrfs_extent_item_to_extent_map(BTRFS_I(inode), path, item, new_inline, em);
+	btrfs_extent_item_to_extent_map(inode, path, item, new_inline, em);
 
 	if (found_type == BTRFS_FILE_EXTENT_REG ||
 	    found_type == BTRFS_FILE_EXTENT_PREALLOC) {
@@ -6988,7 +6988,7 @@ struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page,
 	write_unlock(&em_tree->lock);
 out:
 
-	trace_btrfs_get_extent(root, BTRFS_I(inode), em);
+	trace_btrfs_get_extent(root, inode, em);
 
 	btrfs_free_path(path);
 	if (trans) {
@@ -7004,7 +7004,7 @@ struct extent_map *btrfs_get_extent(struct inode *inode, struct page *page,
 	return em;
 }
 
-struct extent_map *btrfs_get_extent_fiemap(struct inode *inode, struct page *page,
+struct extent_map *btrfs_get_extent_fiemap(struct btrfs_inode *inode, struct page *page,
 					   size_t pg_offset, u64 start, u64 len,
 					   int create)
 {
@@ -7043,7 +7043,7 @@ struct extent_map *btrfs_get_extent_fiemap(struct inode *inode, struct page *pag
 	em = NULL;
 
 	/* ok, we didn't find anything, lets look for delalloc */
-	found = count_range_bits(&BTRFS_I(inode)->io_tree, &range_start,
+	found = count_range_bits(&inode->io_tree, &range_start,
 				 end, len, EXTENT_DELALLOC, 1);
 	found_end = range_start + found;
 	if (found_end < range_start)
@@ -7613,7 +7613,7 @@ static int btrfs_get_blocks_direct(struct inode *inode, sector_t iblock,
 		goto err;
 	}
 
-	em = btrfs_get_extent(inode, NULL, 0, start, len, 0);
+	em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, start, len, 0);
 	if (IS_ERR(em)) {
 		ret = PTR_ERR(em);
 		goto unlock_err;
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index cdbf30e5743b..9011bd135223 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1009,7 +1009,7 @@ static struct extent_map *defrag_lookup_extent(struct inode *inode, u64 start)
 
 		/* get the big lock and read metadata off disk */
 		lock_extent_bits(io_tree, start, end, &cached);
-		em = btrfs_get_extent(inode, NULL, 0, start, len, 0);
+		em = btrfs_get_extent(BTRFS_I(inode), NULL, 0, start, len, 0);
 		unlock_extent_cached(io_tree, start, end, &cached, GFP_NOFS);
 
 		if (IS_ERR(em))
-- 
2.7.4


  parent reply	other threads:[~2017-02-17 14:44 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-17 14:42 [PATCH 00/38] More btrfs_inode cleanups Nikolay Borisov
2017-02-17 14:42 ` [PATCH 01/38] btrfs: Make btrfs_log_all_parents take btrfs_inode Nikolay Borisov
2017-02-17 14:42 ` [PATCH 02/38] btrfs: Make btrfs_insert_dir_item " Nikolay Borisov
2017-02-17 14:42 ` [PATCH 03/38] btrfs: make btrfs_set_inode_index_count " Nikolay Borisov
2017-02-17 14:42 ` [PATCH 04/38] btrfs: Make btrfs_set_inode_index " Nikolay Borisov
2017-02-17 14:42 ` [PATCH 05/38] btrfs: Make btrfs_i_size_write " Nikolay Borisov
2017-02-17 14:42 ` [PATCH 06/38] btrfs: make btrfs_is_free_space_inode " Nikolay Borisov
2017-02-17 14:42 ` [PATCH 07/38] btrfs: make btrfs_alloc_data_chunk_ondemand " Nikolay Borisov
2017-02-17 14:42 ` [PATCH 08/38] btrfs: Make drop_outstanding_extent " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 09/38] btrfs: Make calc_csum_metadata_size " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 10/38] btrfs: Make btrfs_orphan_reserve_metadata " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 11/38] btrfs: Make btrfs_orphan_release_metadata " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 12/38] btrfs: Make btrfs_delalloc_reserve_metadata " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 13/38] btrfs: ale btrfs_delalloc_release_metadata " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 14/38] btrfs: Make (__)btrfs_add_inode_defrag " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 15/38] btrfs: Make btrfs_requeue_inode_defrag " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 16/38] btrfs: Make btrfs_drop_extent_cache " Nikolay Borisov
2017-02-17 16:47   ` kbuild test robot
2017-02-17 17:03   ` kbuild test robot
2017-02-17 14:43 ` [PATCH 17/38] btrfs: Make hole_mergeable " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 18/38] btrfs: Make fille_holes " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 19/38] btrfs: Make btrfs_mark_extent_written " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 20/38] btrfs: Make btrfs_lookup_ordered_range " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 21/38] btrfs: Make check_can_nocow " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 22/38] btrfs: Make lock_and_cleanup_extent_if_need " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 23/38] btrfs: make free_io_failure " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 24/38] btrfs: make btrfs_print_data_csum_error " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 25/38] btrfs: make check_compressed_csum " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 26/38] btrfs: make repair_io_failure " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 27/38] btrfs: make clean_io_failure " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 28/38] btrfs: make btrfs_free_io_failure_record " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 29/38] btrfs: make btrfs_orphan_del " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 30/38] btrfs: Make btrfs_orphan_add " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 31/38] btrfs: Make check_parent_dirs_for_sync " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 32/38] btrfs: make btrfs_log_inode_parent " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 33/38] btrfs: Make btrfs_extent_item_to_extent_map " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 34/38] btrfs: Make btrfs_clear_bit_hook " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 35/38] btrfs: Make clone_update_extent_map " Nikolay Borisov
2017-02-17 14:43 ` [PATCH 36/38] btrfs: Make check_extent_to_block " Nikolay Borisov
2017-02-17 14:43 ` Nikolay Borisov [this message]
2017-02-17 17:14   ` [PATCH 37/38] btrfs: Make get_extent_t " kbuild test robot
2017-02-17 17:26   ` kbuild test robot
2017-02-17 14:43 ` [PATCH 38/38] btrfs: Make btrfs_del_delalloc_inode " Nikolay Borisov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1487342609-20652-38-git-send-email-nborisov@suse.com \
    --to=n.borisov.lkml@gmail.com \
    --cc=dsterba@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=nborisov@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).