[Cluster-devel] [gfs2:iomap-write 3/12] bmap.c:undefined reference to `__udivdi3'

2018-05-14 Thread kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git iomap-write head: 54ef20a4051e1dba575ff26cfef73206602d4430 commit: 023c731681b6f23e755b192d278078a3026ace12 [3/12] gfs2: hole_size improvement config: i386-allyesconfig (attached as .config) compiler: gcc-7 (Debian

Re: [Cluster-devel] [PATCH v4 06/11] iomap: Add write_{begin, end} iomap operations

2018-05-14 Thread Dave Chinner
On Mon, May 14, 2018 at 05:36:19PM +0200, Andreas Gruenbacher wrote: > Add write_begin and write_end operations to struct iomap_ops to provide > a way of overriding the default behavior of iomap_write_begin and > iomap_write_end. This is needed for implementing data journaling: in > the data

Re: [Cluster-devel] [PATCH 1/2] GFS2: Introduce GLF_EX_SHARING bit: local EX sharing

2018-05-14 Thread Andreas Gruenbacher
On 8 May 2018 at 22:04, Bob Peterson wrote: > This patch is a first step in rgrp sharing. It allows for glocks > locked in EX mode to be shared amongst processes on that node. > Like a Shared glock, multiple processes may hold the lock in > EX mode at the same time, provided

[Cluster-devel] [PATCH v4 11/11] iomap: Complete partial direct I/O writes synchronously

2018-05-14 Thread Andreas Gruenbacher
According to xfstest generic/240, applications see, to expect direct I/O writes to either complete as a whole or to fail; short direct I/O writes are apparently not appreciated. This means that when only part of an asynchronous direct I/O write succeeds, we can either fail the entire write, or we

[Cluster-devel] [PATCH v4 10/11] gfs2: Remove gfs2_write_{begin, end}

2018-05-14 Thread Andreas Gruenbacher
Now that generic_file_write_iter is no longer used, there are no remaining users of these address space operations. Signed-off-by: Andreas Gruenbacher --- fs/gfs2/aops.c | 210 - 1 file changed, 210 deletions(-) diff --git

[Cluster-devel] [PATCH v4 09/11] gfs2: iomap direct I/O support

2018-05-14 Thread Andreas Gruenbacher
With that, the direct_IO address space operation can be all but eliminated: only a dummy remains which indicates that the filesystem supports direct I/O. Signed-off-by: Andreas Gruenbacher --- fs/gfs2/aops.c | 92 +-- fs/gfs2/bmap.c | 11 +++-

[Cluster-devel] [PATCH v4 07/11] gfs2: iomap buffered write support

2018-05-14 Thread Andreas Gruenbacher
With the traditional page-based writes, blocks are allocated separately for each page written to. With iomap writes, we can allocate a lot more blocks at once, with a fraction of the allocation overhead for each page. Split calculating the number of blocks that can be allocated at a given

[Cluster-devel] [PATCH v4 08/11] gfs2: gfs2_extent_length cleanup

2018-05-14 Thread Andreas Gruenbacher
Now that gfs2_extent_length is no longer used for determining the size of a hole and always with an upper size limit, the function can be simplified. Signed-off-by: Andreas Gruenbacher --- fs/gfs2/bmap.c | 24 1 file changed, 8 insertions(+), 16

[Cluster-devel] [PATCH v4 06/11] iomap: Add write_{begin, end} iomap operations

2018-05-14 Thread Andreas Gruenbacher
Add write_begin and write_end operations to struct iomap_ops to provide a way of overriding the default behavior of iomap_write_begin and iomap_write_end. This is needed for implementing data journaling: in the data journaling case, pages are written into the journal before being written back to

[Cluster-devel] [PATCH v4 01/11] gfs2: Update find_metapath comment

2018-05-14 Thread Andreas Gruenbacher
Signed-off-by: Andreas Gruenbacher --- fs/gfs2/bmap.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c index 0590e93494f7..fcf2f7d166de 100644 --- a/fs/gfs2/bmap.c +++ b/fs/gfs2/bmap.c @@ -176,8 +176,8 @@ int

[Cluster-devel] [PATCH v4 05/11] gfs2: Iomap cleanups and improvements

2018-05-14 Thread Andreas Gruenbacher
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

[Cluster-devel] [PATCH v4 02/11] gfs2: hole_size improvement

2018-05-14 Thread Andreas Gruenbacher
Reimplement function hole_size based on a generic function for walking the metadata tree and rename hole_size to gfs2_hole_size. While previously, multiple invocations of hole_size were sometimes needed to walk across the entire hole, the new implementation always returns the entire hole at once

[Cluster-devel] [PATCH v4 04/11] gfs2: Remove ordered write mode handling from gfs2_trans_add_data

2018-05-14 Thread Andreas Gruenbacher
In journaled data mode, we need to add each buffer head to the current transaction. In ordered write mode, we only need to add the inode to the ordered inode list. So far, both cases are handled in gfs2_trans_add_data. This makes the code look misleading and is inefficient for small block sizes

[Cluster-devel] [PATCH v4 03/11] gfs2: gfs2_stuffed_write_end cleanup

2018-05-14 Thread Andreas Gruenbacher
First, change the sanity check in gfs2_stuffed_write_end to check for the actual write size instead of the requested write size. Second, use the existing teardown code in gfs2_write_end instead of duplicating it in gfs2_stuffed_write_end. Signed-off-by: Andreas Gruenbacher

[Cluster-devel] [PATCH v4 00/11] gfs2 iomap write support

2018-05-14 Thread Andreas Gruenbacher
Here is an update of my gfs2 iomap write patch queue, with support for buffered writes as well as direct I/O reads and writes through iomap. These patches are intended for the next merge window. The first five patches are minor cleanups and improvements; the first actual iomap patch is "iomap:

[Cluster-devel] [GFS2 PATCH 1/2] GFS2: Move function gfs2_ordered_wait before ordered_write

2018-05-14 Thread Bob Peterson
Although it may not be obvious from the patch contents, this patch simply moves function gfs2_ordered_wait before its sister function, gfs2_ordered_write. There are no changes to the code. This was done to make a follow-on patch more clear and easy to read. Signed-off-by: Bob Peterson

[Cluster-devel] [GFS2 PATCH 2/2] GFS2: Submit all ordered writes in bulk, wait after that

2018-05-14 Thread Bob Peterson
Before this patch, the ordered_write function would submit all the ordered writes with filemap_fdatawrite, which waited for each one to complete before moving on to the next. This patch allows it to submit them all, then wait for them after they're submitted. Signed-off-by: Bob Peterson

[Cluster-devel] [GFS2 PATCH 0/2] GFS2: Bulk submit ordered writes

2018-05-14 Thread Bob Peterson
This patch set is designed to submit the ordered writes list in bulk. This is a performance enhancement from the way we currently do it, which is submit->wait->submit->wait. Submitting them in bulk takes better advantage of the io elevator and vfs below us. The first patch merely moves function

Re: [Cluster-devel] gfs2-utils: mkfs segfault with 4.16 kernel

2018-05-14 Thread Valentin Vidic
On Mon, May 14, 2018 at 02:24:38PM +0100, Andrew Price wrote: > We can still keep this minimal if that's better for the Debian package. > > The issue is due to the log header checksum (lh_hash) being calculated using > sizeof(struct gfs2_log_header) and that size has increased in the latest >

Re: [Cluster-devel] gfs2-utils: mkfs segfault with 4.16 kernel

2018-05-14 Thread Andrew Price
On 13/05/18 10:13, Valentin Vidic wrote: On Wed, May 09, 2018 at 05:53:19PM +0100, Andrew Price wrote: You should be able to fix this by using the configure.ac and gfs2/libgfs2/meta.c files from master. The diff should be very small. It'll need an ./autogen.sh to rebuild the configure script.