[GIT PULL] UBIFS fix for 3.6-rc8

From: Artem Bityutskiy
Date: Fri Jul 20 2012 - 03:19:32 EST


The following changes since commit bd0a521e88aa7a06ae7aabaed7ae196ed4ad867a:

Linux 3.5-rc6 (2012-07-07 17:23:56 -0700)

are available in the git repository at:

git://git.infradead.org/linux-ubifs.git tags/upstream-3.5-rc8

for you to fetch changes up to c6727932cfdb13501108b16c38463c09d5ec7a74:

UBIFS: fix a bug in empty space fix-up (2012-07-20 10:13:27 +0300)

----------------------------------------------------------------
Fix a bug in UBIFS free space fix-up reported already twice recently:

http://lists.infradead.org/pipermail/linux-mtd/2012-May/041408.html
http://lists.infradead.org/pipermail/linux-mtd/2012-June/042422.html

and we finally have the fix. I am quite confident the fix is correct
because I could reproduce the problem with nandsim and verify the
fix. It was also verified by Iwo (the reporter).

I am also confident that this is OK to merge the fix so late because
this patch affects only the fixup functionality, which is not used by
most users.

----------------------------------------------------------------
Artem Bityutskiy (1):
UBIFS: fix a bug in empty space fix-up

fs/ubifs/sb.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/fs/ubifs/sb.c b/fs/ubifs/sb.c
index ef3d1ba..15e2fc5 100644
--- a/fs/ubifs/sb.c
+++ b/fs/ubifs/sb.c
@@ -718,8 +718,12 @@ static int fixup_free_space(struct ubifs_info *c)
lnum = ubifs_next_log_lnum(c, lnum);
}

- /* Fixup the current log head */
- err = fixup_leb(c, c->lhead_lnum, c->lhead_offs);
+ /*
+ * Fixup the log head which contains the only a CS node at the
+ * beginning.
+ */
+ err = fixup_leb(c, c->lhead_lnum,
+ ALIGN(UBIFS_CS_NODE_SZ, c->min_io_size));
if (err)
goto out;

--
Best Regards,
Artem Bityutskiy

Attachment: signature.asc
Description: This is a digitally signed message part