[XFS] Fix vmalloc leak on mount/unmount.
When setting the length of the iclogbuf to write out we should just be changing the desired byte count rather completely reassociating the buffer memory with the buffer. Reassociating the buffer memory changes the apparent length of the buffer and hence when we free the buffer, we don't free all the vmap()d space we originally allocated. SGI-PV: 964983 SGI-Modid: xfs-linux-melb:xfs-kern:28640a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Tim Shimmin <tes@sgi.com>
This commit is contained in:
Родитель
ca165b8892
Коммит
511105b3d7
|
@ -1436,7 +1436,7 @@ xlog_sync(xlog_t *log,
|
|||
} else {
|
||||
iclog->ic_bwritecnt = 1;
|
||||
}
|
||||
XFS_BUF_SET_PTR(bp, (xfs_caddr_t) &(iclog->ic_header), count);
|
||||
XFS_BUF_SET_COUNT(bp, count);
|
||||
XFS_BUF_SET_FSPRIVATE(bp, iclog); /* save for later */
|
||||
XFS_BUF_ZEROFLAGS(bp);
|
||||
XFS_BUF_BUSY(bp);
|
||||
|
|
Загрузка…
Ссылка в новой задаче