Searched hist:"189 e868fa8fdca702eb9db9d8afc46b5cb9144c9" (Results 1 – 4 of 4) sorted by relevance
/openbmc/linux/fs/ext4/ |
H A D | indirect.c | diff 189e868fa8fdca702eb9db9d8afc46b5cb9144c9 Tue Sep 06 20:49:44 CDT 2011 Allison Henderson <achender@linux.vnet.ibm.com> ext4: fix fsx truncate failure
While running extended fsx tests to verify the first two patches, a similar bug was also found in the truncate operation.
This bug happens because the truncate routine only zeros the unblock aligned portion of the last page. This means that the block aligned portions of the page appearing after i_size are left unzeroed, and the buffer heads still mapped.
This bug is corrected by using ext4_discard_partial_page_buffers in the truncate routine to zero the partial page and unmap the buffer headers.
Signed-off-by: Allison Henderson <achender@linux.vnet.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
|
H A D | extents.c | diff 189e868fa8fdca702eb9db9d8afc46b5cb9144c9 Tue Sep 06 20:49:44 CDT 2011 Allison Henderson <achender@linux.vnet.ibm.com> ext4: fix fsx truncate failure
While running extended fsx tests to verify the first two patches, a similar bug was also found in the truncate operation.
This bug happens because the truncate routine only zeros the unblock aligned portion of the last page. This means that the block aligned portions of the page appearing after i_size are left unzeroed, and the buffer heads still mapped.
This bug is corrected by using ext4_discard_partial_page_buffers in the truncate routine to zero the partial page and unmap the buffer headers.
Signed-off-by: Allison Henderson <achender@linux.vnet.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
|
H A D | inode.c | diff eb3544c6fc6642c9037817980d8a9dc9df44aa45 Mon May 27 22:32:35 CDT 2013 Lukas Czerner <lczerner@redhat.com> Revert "ext4: fix fsx truncate failure"
This reverts commit 189e868fa8fdca702eb9db9d8afc46b5cb9144c9.
This commit reintroduces the use of ext4_block_truncate_page() in ext4 truncate operation instead of ext4_discard_partial_page_buffers().
The statement in the commit description that the truncate operation only zero block unaligned portion of the last page is not exactly right, since truncate_pagecache_range() also zeroes and invalidate the unaligned portion of the page. Then there is no need to zero and unmap it once more and ext4_block_truncate_page() was doing the right job, although we still need to update the buffer head containing the last block, which is exactly what ext4_block_truncate_page() is doing.
Moreover the problem described in the commit is fixed more properly with commit
15291164b22a357cb211b618adfef4fa82fc0de3 jbd2: clear BH_Delay & BH_Unwritten in journal_unmap_buffer
This was tested on ppc64 machine with block size of 1024 bytes without any problems.
Signed-off-by: Lukas Czerner <lczerner@redhat.com> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
/openbmc/linux/fs/jbd2/ |
H A D | transaction.c | diff 15291164b22a357cb211b618adfef4fa82fc0de3 Mon Feb 20 16:53:01 CST 2012 Eric Sandeen <sandeen@redhat.com> jbd2: clear BH_Delay & BH_Unwritten in journal_unmap_buffer
journal_unmap_buffer()'s zap_buffer: code clears a lot of buffer head state ala discard_buffer(), but does not touch _Delay or _Unwritten as discard_buffer() does.
This can be problematic in some areas of the ext4 code which assume that if they have found a buffer marked unwritten or delay, then it's a live one. Perhaps those spots should check whether it is mapped as well, but if jbd2 is going to tear down a buffer, let's really tear it down completely.
Without this I get some fsx failures on sub-page-block filesystems up until v3.2, at which point 4e96b2dbbf1d7e81f22047a50f862555a6cb87cb and 189e868fa8fdca702eb9db9d8afc46b5cb9144c9 make the failures go away, because buried within that large change is some more flag clearing. I still think it's worth doing in jbd2, since ->invalidatepage leads here directly, and it's the right place to clear away these flags.
Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Cc: stable@vger.kernel.org
|