prevent llog_process_thread() from trying to fix
remote llog by a direct write to the header.
Xyratex-bug-id: MRP-2076
Change-Id: I4f8b758a38ce3f51c24fa7397ad5c4b341e27ed0
Signed-off-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com>
Reviewed-on: http://review.whamcloud.com/11955
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
if (cd != NULL)
cd->lpcd_last_idx = last_called_index;
if (cd != NULL)
cd->lpcd_last_idx = last_called_index;
- if (unlikely(rc == -EIO)) {
- /* something bad happened to the processing, probably I/O
- * error or the log got corrupted..
+ if (unlikely(rc == -EIO && loghandle->lgh_obj != NULL)) {
+ /* something bad happened to the processing of a local
+ * llog file, probably I/O error or the log got corrupted..
* to be able to finally release the log we discard any
* remaining bits in the header */
* to be able to finally release the log we discard any
* remaining bits in the header */
- CERROR("llog found corrupted\n");
+ CERROR("Local llog found corrupted\n");
while (index <= last_index) {
if (ext2_test_bit(index, llh->llh_bitmap) != 0)
llog_cancel_rec(lpi->lpi_env, loghandle, index);
while (index <= last_index) {
if (ext2_test_bit(index, llh->llh_bitmap) != 0)
llog_cancel_rec(lpi->lpi_env, loghandle, index);