<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/gfs2/log.c, branch linux-4.20.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.20.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.20.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-10-15T17:17:30Z</updated>
<entry>
<title>gfs2: write revokes should traverse sd_ail1_list in reverse</title>
<updated>2018-10-15T17:17:30Z</updated>
<author>
<name>Bob Peterson</name>
</author>
<published>2018-10-15T17:17:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c9e58fb2aad5231e7c49d90d059caa3c67a3ff31'/>
<id>urn:sha1:c9e58fb2aad5231e7c49d90d059caa3c67a3ff31</id>
<content type='text'>
All the other functions that deal with the sd_ail_list run the list
from the tail back to the head, iow, in reverse. We should do the
same while writing revokes, otherwise we might miss removing entries
properly from the list when we hit the limit of how many revokes we
can write at one time (based on block size, which determines how
many block pointers will fit in the revoke block).

Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
</content>
</entry>
<entry>
<title>gfs2: slow the deluge of io error messages</title>
<updated>2018-10-05T15:51:11Z</updated>
<author>
<name>Bob Peterson</name>
</author>
<published>2018-10-04T15:21:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b524abcc01483b2ac093cc6a8a2a7375558d2b64'/>
<id>urn:sha1:b524abcc01483b2ac093cc6a8a2a7375558d2b64</id>
<content type='text'>
When an io error is hit, it calls gfs2_io_error_bh_i for every
journal buffer it can't write. Since we changed gfs2_io_error_bh_i
recently to withdraw later in the cycle, it sends a flood of
errors to the console. This patch checks for the file system already
being withdrawn, and if so, doesn't send more messages. It doesn't
stop the flood of messages, but it slows it down and keeps it more
reasonable.

Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
</content>
</entry>
<entry>
<title>gfs2: call ktime_get_coarse_real_ts64() directly</title>
<updated>2018-06-21T12:40:23Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2018-06-20T20:15:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee9c7f9ae3d4fb9fb5c9cacbe3880d5dd66feb16'/>
<id>urn:sha1:ee9c7f9ae3d4fb9fb5c9cacbe3880d5dd66feb16</id>
<content type='text'>
current_kernel_time64() is now just a deprecated wrapper around
ktime_get_coarse_real_ts64(), so let's just call that directly.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
</content>
</entry>
<entry>
<title>gfs2: Don't withdraw under a spin lock</title>
<updated>2018-06-21T12:39:44Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2018-06-07T10:56:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9e1a9ecd13b9bb421c88135b178577caf4d54f6a'/>
<id>urn:sha1:9e1a9ecd13b9bb421c88135b178577caf4d54f6a</id>
<content type='text'>
In two places, the gfs2_io_error_bh macro is called while holding the
sd_ail_lock spin lock.  This isn't allowed because gfs2_io_error_bh
withdraws the filesystem, which can sleep because it issues a uevent.
To fix that, add a gfs2_io_error_bh_wd macro that does withdraw the
filesystem and change gfs2_io_error_bh to not withdraw the filesystem.
In those places where the new gfs2_io_error_bh is used, withdraw the
filesystem after releasing sd_ail_lock.

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
Reviewed-by: Andrew Price &lt;anprice@redhat.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Make function gfs2_remove_from_ail static</title>
<updated>2018-03-08T16:26:20Z</updated>
<author>
<name>Bob Peterson</name>
</author>
<published>2018-03-02T13:59:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9bc980cdb9ac2fd2e6c18ba5ba18a6909971a4a2'/>
<id>urn:sha1:9bc980cdb9ac2fd2e6c18ba5ba18a6909971a4a2</id>
<content type='text'>
Function gfs2_remove_from_ail is only ever used from log.c, so there
is no reason to declare it extern. This patch removes the extern and
declares it static.

Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Log the reason for log flushes in every log header</title>
<updated>2018-01-23T14:39:20Z</updated>
<author>
<name>Bob Peterson</name>
</author>
<published>2018-01-08T15:34:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=805c090750a315c5443c14e06304e19a01c697a0'/>
<id>urn:sha1:805c090750a315c5443c14e06304e19a01c697a0</id>
<content type='text'>
This patch just adds the capability for GFS2 to track which function
called gfs2_log_flush. This should make it easier to diagnose
problems based on the sequence of events found in the journals.

Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
Reviewed-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Introduce new gfs2_log_header_v2</title>
<updated>2018-01-23T14:38:53Z</updated>
<author>
<name>Bob Peterson</name>
</author>
<published>2018-01-16T23:01:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1696fb85d33194cf65c7ebfc82a75696299c3a3'/>
<id>urn:sha1:c1696fb85d33194cf65c7ebfc82a75696299c3a3</id>
<content type='text'>
This patch adds a new structure called gfs2_log_header_v2 which is used
to store expanded fields into previously unused areas of the log headers
(i.e., this change is backwards compatible).  Some of these are used for
debug purposes so we can backtrack when problems occur.  Others are
reserved for future expansion.

This patch is based on a prototype from Steve Whitehouse.

Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
</content>
</entry>
<entry>
<title>gfs2: Get rid of gfs2_log_header_in</title>
<updated>2018-01-22T14:06:15Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2018-01-16T22:07:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ff5916ad4eb857e03e7586665d1c022ef3277f6'/>
<id>urn:sha1:0ff5916ad4eb857e03e7586665d1c022ef3277f6</id>
<content type='text'>
Get rid of gfs2_log_header_in by integrating it into get_log_header.
Clean up the crc32 computations and use the same functions for encoding
and decoding to make things less confusing.  Eliminate lh_hash from
gfs2_log_header_host which is completely useless.

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
</content>
</entry>
<entry>
<title>gfs2: Trim the ordered write list in gfs2_ordered_write()</title>
<updated>2017-12-22T13:55:31Z</updated>
<author>
<name>Abhi Das</name>
</author>
<published>2017-12-22T13:55:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1f23bc7869fffec40b8bd9333a74a18d1de54d98'/>
<id>urn:sha1:1f23bc7869fffec40b8bd9333a74a18d1de54d98</id>
<content type='text'>
We iterate through the entire ordered writes list in
gfs2_ordered_write() to write out inodes. It's a good
place to try and shrink the list by throwing out inodes
that don't have any pages.

Signed-off-by: Abhi Das &lt;adas@redhat.com&gt;
Acked-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
</content>
</entry>
<entry>
<title>GFS2: Reduce code redundancy writing log headers</title>
<updated>2017-12-22T13:51:29Z</updated>
<author>
<name>Bob Peterson</name>
</author>
<published>2017-12-18T18:48:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=588bff95c94efc05f9e1a0b19015c9408ed7c0ef'/>
<id>urn:sha1:588bff95c94efc05f9e1a0b19015c9408ed7c0ef</id>
<content type='text'>
Before this patch, there was a lot of code redundancy between functions
log_write_header (which uses bio) and clean_journal (which uses
buffer_head). This patch reduces the redundancy to simplify the code
and make log header writing more consistent. We want more consistency
and reduced redundancy because we plan to add a bunch of new fields
to improve performance (by eliminating the local statfs and quota files)
improve metadata integrity (by adding new crcs and such) and for better
debugging (by adding new fields to track when and where metadata was
pushed through the journals.) We don't want to duplicate setting these
new fields, nor allow for human error in the process.

This reduction in code redundancy is accomplished by introducing a new
helper function, gfs2_write_log_header which uses bio rather than bh.
That simplifies recovery function clean_journal() to use the new helper
function and iomap rather than redundancy and block_map (and eventually
we can maybe remove block_map). It also reduces our dependency on
buffer_heads.

Signed-off-by: Bob Peterson &lt;rpeterso@redhat.com&gt;
</content>
</entry>
</feed>
