diff options
author | Andreas Gruenbacher <agruenba@redhat.com> | 2018-06-04 07:56:51 -0500 |
---|---|---|
committer | Bob Peterson <rpeterso@redhat.com> | 2018-06-04 07:56:51 -0500 |
commit | 628e366df11c0a61487522ec1d4bca5c77fe9083 (patch) | |
tree | fe32126aa08767b5621741b63b096af966604f9d /fs/gfs2/file.c | |
parent | 845802b112eeedfa32b2ebba694996a49677596e (diff) | |
download | linux-stable-628e366df11c0a61487522ec1d4bca5c77fe9083.tar.gz linux-stable-628e366df11c0a61487522ec1d4bca5c77fe9083.tar.bz2 linux-stable-628e366df11c0a61487522ec1d4bca5c77fe9083.zip |
gfs2: Iomap cleanups and improvements
Clean up gfs2_iomap_alloc and gfs2_iomap_get. Document how
gfs2_iomap_alloc works: it now needs to be called separately after
gfs2_iomap_get where necessary; this will be used later by iomap write.
Move gfs2_iomap_ops into bmap.c.
Introduce a new gfs2_iomap_get_alloc helper and use it in
fallocate_chunk: gfs2_iomap_begin will become unsuitable for fallocate
with proper iomap write support.
In gfs2_block_map and fallocate_chunk, zero-initialize struct iomap.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'fs/gfs2/file.c')
-rw-r--r-- | fs/gfs2/file.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 4b71f021a9e2..7137db7b0119 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -733,7 +733,7 @@ static int fallocate_chunk(struct inode *inode, loff_t offset, loff_t len, struct gfs2_inode *ip = GFS2_I(inode); loff_t end = offset + len; struct buffer_head *dibh; - struct iomap iomap; + struct iomap iomap = { }; int error; error = gfs2_meta_inode_buffer(ip, &dibh); @@ -749,8 +749,8 @@ static int fallocate_chunk(struct inode *inode, loff_t offset, loff_t len, } while (offset < end) { - error = gfs2_iomap_begin(inode, offset, end - offset, - IOMAP_WRITE, &iomap); + error = gfs2_iomap_get_alloc(inode, offset, end - offset, + &iomap); if (error) goto out; offset = iomap.offset + iomap.length; |