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
next prev 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).