Commit fe768403 authored by Stephen Lord's avatar Stephen Lord Committed by Nathan Scott

[XFS] Contributed fix from ASANO Masahiro <masano@tnes.nec.co.jp>. In calculating

the layout of a log record for a buffer, the linux code deals with buffers
which are not contiguous in memory - this only applies to an inode buffer.
This adds one more fragmentation case to the code, and a line was missing
from this. The end result would be the logging of too much data if this
was not the last component of the buffer.

The code was definitely wrong, but I think the chances of hitting this were
pretty slim, and the resulting error would only matter if there was a
crash shortly afterward.

SGI Modid: 2.5.x-xfs:slinx:131221a
parent 93c01a6f
...@@ -331,6 +331,7 @@ xfs_buf_item_format( ...@@ -331,6 +331,7 @@ xfs_buf_item_format(
vecp++; vecp++;
first_bit = next_bit; first_bit = next_bit;
last_bit = next_bit; last_bit = next_bit;
nbits = 1;
} else { } else {
last_bit++; last_bit++;
nbits++; nbits++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment