xfs
[Top] [All Lists]

Re: [PATCH] xfs: fix in the setting of logbsize

To: Mark Tinguely <tinguely@xxxxxxx>
Subject: Re: [PATCH] xfs: fix in the setting of logbsize
From: Ales Novak <alnovak@xxxxxxx>
Date: Fri, 26 Jun 2015 00:58:07 +0200 (CEST)
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <557592E7.2010805@xxxxxxx>
References: <1433510925-11438-1-git-send-email-alnovak@xxxxxxx> <20150605222257.GY24666@dastard> <alpine.LSU.2.03.1506071054580.20732@xxxxxxx> <557592E7.2010805@xxxxxxx>
User-agent: Alpine 2.03 (LSU 1266 2009-07-14)
On 2015-6-8 15:04, Mark Tinguely wrote:

On 06/07/15 04:16, Ales Novak wrote:

On 2015-6-6 00:22, Dave Chinner wrote:

Can you give more information about the crashes? From this
description, I do not know whether this is a work around or a fix
because I don't know what code is actually causing the problem or
the circumstances in which the crash occurs. Hence I cannot
determine if your change is the right change to make or whether the
documetnation is simply wrong and we have a real bug we shoul dbe
fixing.

The crashes occurred with logsunit=192k and logbsize=256k. xlog_sync()
is calculating in logsunit units:

count = XLOG_LSUNITTOB(log, XLOG_BTOLSUNIT(log, count_init));

With count_init=256k, the calculated roundoff will try to cover that in
two 192k units. This roundoff is passed to the xlog_pack_data() which
walks the buffer and (hopefully) fails when it hits its 256k border.


Talked about this once before:

http://oss.sgi.com/archives/xfs/2013-03/msg00039.html

Mark.


Thank you! I missed that.

Still I'd advocate for at least simple solution. Sure it's a root's fault if he tries to set logbsize not being integer multiple of logsunit, but crashing a kernel, that's bad...

--
Ales Novak

<Prev in Thread] Current Thread [Next in Thread>