Contributed fix from ASANO Masahiro <masano@xxxxxxxxxxxxxx>. 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.
Date: Mon Oct 28 09:05:38 PST 2002
Workarea: jen.americas.sgi.com:/src/lord/xfs-linux.2.4
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
Modid: 2.4.x-xfs:slinx:131221a
linux/fs/xfs/xfs_buf_item.c - 1.132
- reset nbits when starting a new log vector record.
|