search for: is_journal_aborted

Displaying 10 results from an estimated 10 matches for "is_journal_aborted".

2023 Apr 30
3
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...alloc.c index 51c93929a146..d90961a1c433 100644 --- a/fs/ocfs2/alloc.c +++ b/fs/ocfs2/alloc.c @@ -6308,11 +6308,13 @@ void ocfs2_truncate_log_shutdown(struct ocfs2_super *osb) if (tl_inode) { cancel_delayed_work(&osb->osb_truncate_log_wq); - flush_workqueue(osb->ocfs2_wq); + if (!is_journal_aborted(osb->journal->j_journal)) { + flush_workqueue(osb->ocfs2_wq); - status = ocfs2_flush_truncate_log(osb); - if (status < 0) - mlog_errno(status); + status = ocfs2_flush_truncate_log(osb); + if (status < 0) + mlog_errno(status); + } brelse(osb->osb_tl_bh); ipu...
2023 Apr 30
2
[PATCH 1/2] ocfs2: fix missing reset j_num_trans for sync
fstest generic cases 266 272 281 trigger hanging issue when umount. I use 266 to describe the root cause. ``` 49 _dmerror_unmount 50 _dmerror_mount 51 52 echo "Compare files" 53 md5sum $testdir/file1 | _filter_scratch 54 md5sum $testdir/file2 | _filter_scratch 55 56 echo "CoW and unmount" 57 sync 58 _dmerror_load_error_table 59 urk=$($XFS_IO_PROG -f -c "pwrite
2023 May 04
1
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...;> > >>>> JBD2_ABORT indicates a fatal error happens, either in jounral layer or > >>>> filesystem. And we should not commit any further transactions. > >>>> It seems that we may unify the behavior like: > >>>> > >>>> if (is_journal_aborted(journal)) > >>>> return -EROFS; > >>>> > >>>> > >>> IIUC, do you mean add above code in ocfs2_commit_cache or in > >>> ocfs2_commit_thread? > >> > >> Yes, break the loop in ocfs2_commit_thread() in case of journ...
2023 May 05
1
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...gt;>>> JBD2_ABORT indicates a fatal error happens, either in jounral layer or >>>>>> filesystem. And we should not commit any further transactions. >>>>>> It seems that we may unify the behavior like: >>>>>> >>>>>> if (is_journal_aborted(journal)) >>>>>> return -EROFS; >>>>>> >>>>>> >>>>> IIUC, do you mean add above code in ocfs2_commit_cache or in >>>>> ocfs2_commit_thread? >>>> >>>> Yes, break the loop in ocfs2_commit_thre...
2023 May 08
1
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
..._ABORT indicates a fatal error happens, either in jounral layer or > >>>>>> filesystem. And we should not commit any further transactions. > >>>>>> It seems that we may unify the behavior like: > >>>>>> > >>>>>> if (is_journal_aborted(journal)) > >>>>>> return -EROFS; > >>>>>> > >>>>>> > >>>>> IIUC, do you mean add above code in ocfs2_commit_cache or in > >>>>> ocfs2_commit_thread? > >>>> > >>>> Yes,...
2023 May 09
1
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...ates a fatal error happens, either in jounral layer or >>>>>>>> filesystem. And we should not commit any further transactions. >>>>>>>> It seems that we may unify the behavior like: >>>>>>>> >>>>>>>> if (is_journal_aborted(journal)) >>>>>>>> return -EROFS; >>>>>>>> >>>>>>>> >>>>>>> IIUC, do you mean add above code in ocfs2_commit_cache or in >>>>>>> ocfs2_commit_thread? >>>>>> >>&...
2002 Jan 07
2
Assertion failure in journal_flush()
Hi Steven, Hi ext3-users list! We encountered a reproduceable problem with ext3: When issuing a FIBMAP ioctl for a block written right before while the FS is under high load (RH build universe), the assertion !journal->j_running_transaction fails at the bottom of journal_flush() in fs/jbd/journal.c. We encountered this problem with the arch=s390x (64 bit big endian) bootloader zipl, I'll
2011 Jan 26
0
[PATCH 2/3] jbd2: Remove barrier feature conditional flag (or: always issue flushes)
...&& - (journal->j_flags & JBD2_BARRIER)) + (journal->j_fs_dev != journal->j_dev)) blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL, NULL); /* Done it all: now write the commit record asynchronously. */ @@ -811,10 +809,8 @@ wait_for_iobuf: if (!err && !is_journal_aborted(journal)) err = journal_wait_on_commit_record(journal, cbh); if (JBD2_HAS_INCOMPAT_FEATURE(journal, - JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT) && - journal->j_flags & JBD2_BARRIER) { + JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT)) blkdev_issue_flush(journal->j_dev,...
2005 Jan 04
0
[PATCH] BUG on error handlings in Ext3 under I/O failure condition
...it_commit (journal_t *journal, tid_t tid) +int log_wait_commit (journal_t *journal, tid_t tid) { + int err = 0; + lock_kernel(); #ifdef CONFIG_JBD_DEBUG lock_journal(journal); @@ -600,6 +602,12 @@ sleep_on(&journal->j_wait_done_commit); } unlock_kernel(); + + if (unlikely(is_journal_aborted(journal))) { + printk(KERN_EMERG "journal commit I/O error\n"); + err = -EIO; + } + return err; } /* @@ -1326,7 +1334,7 @@ /* Wait for the log commit to complete... */ if (transaction) - log_wait_commit(journal, transaction->t_tid); + err = log_wait_commit(journal, tran...
2010 Aug 04
6
[PATCH -v2 0/3] jbd2 scalability patches
This version fixes three bugs in the 2nd patch of this series that caused kernel BUG when the system was under race. We weren't accounting with t_oustanding_credits correctly, and there were race conditions caused by the fact the I had overlooked the fact that __jbd2_log_wait_for_space() and jbd2_get_transaction() requires j_state_lock to be write locked. Theodore Ts'o (3): jbd2: Use