search for: j_journal

Displaying 17 results from an estimated 17 matches for "j_journal".

2023 Apr 30
3
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...3 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); iput(osb->osb_tl_inode); diff...
2008 Sep 04
4
[PATCH 0/3] ocfs2: Switch over to JBD2.
ocfs2 currently uses the Journaled Block Device (JBD) for its journaling. This is a very stable and tested codebase. However, JBD is limited by architecture to 32bit block numbers. This means an ocfs2 filesystem is limited to 2^32 blocks. With a 4K blocksize, that's 16TB. People want larger volumes. Fortunately, there is now JBD2. JBD2 adds 64bit block number support and some other
2023 Apr 30
2
[PATCH 1/2] ocfs2: fix missing reset j_num_trans for sync
...3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index 0b0e6a132101..bb3fa21e9b47 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c @@ -412,6 +412,9 @@ static int ocfs2_sync_fs(struct super_block *sb, int wait) jbd2_log_wait_commit(osb->journal->j_journal, target); } + /* kick commit thread to reset journal->j_num_trans */ + if (atomic_read(&(osb->journal->j_num_trans))) + wake_up(&osb->checkpoint_event); return 0; } -- 2.39.2
2023 Apr 21
1
[PATCH] ocfs2: fix missing reset j_num_trans for sync
...file changed, 3 insertions(+) diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c index 0b0e6a132101..9929320bd967 100644 --- a/fs/ocfs2/super.c +++ b/fs/ocfs2/super.c @@ -408,6 +408,9 @@ static int ocfs2_sync_fs(struct super_block *sb, int wait) if (jbd2_journal_start_commit(osb->journal->j_journal, &target)) { + /* kick commit thread to reset journal->j_num_trans */ + wake_up(&osb->checkpoint_event); + if (wait) jbd2_log_wait_commit(osb->journal->j_journal, target); -- 2.39.2
2023 Apr 22
1
[PATCH] ocfs2: fix missing reset j_num_trans for sync
...diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c > index 0b0e6a132101..9929320bd967 100644 > --- a/fs/ocfs2/super.c > +++ b/fs/ocfs2/super.c > @@ -408,6 +408,9 @@ static int ocfs2_sync_fs(struct super_block *sb, int wait) > > if (jbd2_journal_start_commit(osb->journal->j_journal, > &target)) { > + /* kick commit thread to reset journal->j_num_trans */ > + wake_up(&osb->checkpoint_event); > + > if (wait) > jbd2_log_wait_commit(osb->journal->j_journal, > target); >
2009 Feb 05
1
[PATCH 1/3] jbd2: Fix possible NULL pointer dereference in jbd2_journal_begin_ordered_truncate()
If we race with commit code setting i_transaction to NULL, we could possibly dereference it. Proper locking requires journal pointer (journal->j_list_lock) we don't have. So we have to change the prototype of the function so that filesystem passes us the journal pointer. Also add more detailed comment about why function does what it does how it should be used. Thanks to Dan Carpenter
2010 Jan 29
0
[PATCH 3/3] ocfs2:freeze-thaw: make it work -v2
...tic int ocfs2_sync_fs(struct super_block *sb, int wait) { - int status; + int status, flush_journal = 0; tid_t target; struct ocfs2_super *osb = OCFS2_SB(sb); @@ -404,6 +410,17 @@ static int ocfs2_sync_fs(struct super_block *sb, int wait) jbd2_log_wait_commit(OCFS2_SB(sb)->journal->j_journal, target); } + + flush_journal = ocfs2_test_osb_flag(osb, OCFS2_OSB_FREEZE_INPROG); + + /* flushes journal when it's during freeze_bdev(). so that we need not + * replay journal if this node crashes before thawed. + */ + if (unlikely(flush_journal)) { + status = jbd2_journal_flus...
2009 Jun 09
2
[PATCH] OCFS2: fdatasync should skip unimportant metadata writeout
...0000000 +0900 +++ linux-2.6.30-rc8.ocfs2/fs/ocfs2/file.c 2009-06-09 13:50:42.000000000 +0900 @@ -187,6 +187,9 @@ static int ocfs2_sync_file(struct file * if (err) goto bail; + if (datasync && !(inode->i_state & I_DIRTY_DATASYNC)) + goto bail; + journal = osb->journal->j_journal; err = jbd2_journal_force_commit(journal);
2009 Feb 24
0
[STABLE, 2.6.28.y] jbd2: Avoid possible NULL dereference in jbd2_journal_begin_ordered_truncate()
...ode) static inline int ocfs2_begin_ordered_truncate(struct inode *inode, loff_t new_size) { - return jbd2_journal_begin_ordered_truncate(&OCFS2_I(inode)->ip_jinode, - new_size); + return jbd2_journal_begin_ordered_truncate( + OCFS2_SB(inode->i_sb)->journal->j_journal, + &OCFS2_I(inode)->ip_jinode, + new_size); } #endif /* OCFS2_JOURNAL_H */ diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 7c31d67..56593cb 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -1087,7 +1087,8 @@ extern int jbd2_journal_clear_err (journ...
2009 Jul 13
1
[PATCH 1/1] adds mlogs to aops.c
..., offset, (long)bytes, private); + ocfs2_iocb_clear_rw_locked(iocb); level = ocfs2_iocb_rw_locked_level(iocb); @@ -655,16 +694,25 @@ static void ocfs2_invalidatepage(struct page *page, unsigned long offset) { journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journal; + mlog(0, "(%lu, %lu)\n", page->index, offset); + jbd2_journal_invalidatepage(journal, page, offset); } static int ocfs2_releasepage(struct page *page, gfp_t wait) { + int status = 0; journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journa...
2009 Jul 21
1
(no subject)
..., offset, (long)bytes, private); + ocfs2_iocb_clear_rw_locked(iocb); level = ocfs2_iocb_rw_locked_level(iocb); @@ -655,16 +698,25 @@ static void ocfs2_invalidatepage(struct page *page, unsigned long offset) { journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journal; + mlog(0, "(%lu, %lu)\n", page->index, offset); + jbd2_journal_invalidatepage(journal, page, offset); } static int ocfs2_releasepage(struct page *page, gfp_t wait) { + int status = 0; journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journa...
2009 Jul 21
1
[PATCH 1/1] ocfs2: adds mlogs to aops.c -V2
..., offset, (long)bytes, private); + ocfs2_iocb_clear_rw_locked(iocb); level = ocfs2_iocb_rw_locked_level(iocb); @@ -655,16 +698,25 @@ static void ocfs2_invalidatepage(struct page *page, unsigned long offset) { journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journal; + mlog(0, "(%lu, %lu)\n", page->index, offset); + jbd2_journal_invalidatepage(journal, page, offset); } static int ocfs2_releasepage(struct page *page, gfp_t wait) { + int status = 0; journal_t *journal = OCFS2_SB(page->mapping->host->i_sb)->journal->j_journa...
2009 Feb 24
1
[STABLE, 2.6.27.y] jbd2: Avoid possible NULL dereference in jbd2_journal_begin_ordered_truncate()
...struct inode *inode) +{ + return jbd2_journal_file_inode(handle, &OCFS2_I(inode)->ip_jinode); +} + +static inline int ocfs2_begin_ordered_truncate(struct inode *inode, + loff_t new_size) +{ + return jbd2_journal_begin_ordered_truncate( + OCFS2_SB(inode->i_sb)->journal->j_journal, + &OCFS2_I(inode)->ip_jinode, + new_size); +} #endif /* OCFS2_JOURNAL_H */ diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 0e1bd70..df4137e 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -1075,7 +1075,8 @@ extern int jbd2_journal_clear_err (journal...
2009 Mar 20
1
[stable] Linux 2.6.28.8 (ocfs2 build failure)
...ode( static inline int ocfs2_begin_ordered_truncate(struct inode *inode, loff_t new_size) { - return jbd2_journal_begin_ordered_truncate(&OCFS2_I(inode)->ip_jinode, - new_size); + return jbd2_journal_begin_ordered_truncate( + OCFS2_SB(inode->i_sb)->journal->j_journal, + &OCFS2_I(inode)->ip_jinode, + new_size); } #endif /* OCFS2_JOURNAL_H */ --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -1087,7 +1087,8 @@ extern int jbd2_journal_clear_err (j extern int jbd2_journal_bmap(journal_t *, unsigned long, unsigned long long *); exter...
2010 Jul 11
2
[PATCH 1/2] JBD2: Allow feature checks before journal recovery
Before we start accessing a huge (> 16 TiB) OCFS2 volume, we need to confirm that its journal supports 64-bit offsets. So we need to check the journal's feature bits before recovering the journal. This is not possible with JBD2 at present, because the journal superblock (where the feature bits reside) is not loaded from disk until the journal is recovered. This patch loads the journal
2009 Jun 18
8
Patches backported from mainline
All, Please review the patches backported to 1.4 from mainline. Sunil
2010 Jul 22
4
[PATCH 1/3] ext3/ext4: Factor out disk addressability check
As part of adding support for OCFS2 to mount huge volumes, we need to check that the sector_t and page cache of the system are capable of addressing the entire volume. An identical check already appears in ext3 and ext4. This patch moves the addressability check into its own function in fs/libfs.c and modifies ext3 and ext4 to invoke it. Signed-off-by: Patrick LoPresti <lopresti at