search for: ocfs2_error

Displaying 20 results from an estimated 26 matches for "ocfs2_error".

2023 May 04
1
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...f journal abort. > >> Actually we've handled this case before, but just limit the print. But > >> it seems not enough now. > > > > I wrote in my previous mail. Follow your idea, The code should be: > > > > if (is_journal_aborted(journal)) { > > ocfs2_error(osb->sb, "jbd2 status: ABORT.\n"); //this line is important. > > return -EROFS; > > } > > > > Only return -EROFS then break loop in ocfs2_commit_thread() is not enough. > > Without ocfs2_error(), ocfs2 could accept new IOs from userspace, then the new &g...
2023 May 05
1
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...t;>>> Actually we've handled this case before, but just limit the print. But >>>> it seems not enough now. >>> >>> I wrote in my previous mail. Follow your idea, The code should be: >>> >>> if (is_journal_aborted(journal)) { >>> ocfs2_error(osb->sb, "jbd2 status: ABORT.\n"); //this line is important. >>> return -EROFS; >>> } >>> >>> Only return -EROFS then break loop in ocfs2_commit_thread() is not enough. >>> Without ocfs2_error(), ocfs2 could accept new IOs from userspace, t...
2023 May 08
1
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...;ve handled this case before, but just limit the print. But > >>>> it seems not enough now. > >>> > >>> I wrote in my previous mail. Follow your idea, The code should be: > >>> > >>> if (is_journal_aborted(journal)) { > >>> ocfs2_error(osb->sb, "jbd2 status: ABORT.\n"); //this line is important. > >>> return -EROFS; > >>> } > >>> > >>> Only return -EROFS then break loop in ocfs2_commit_thread() is not enough. > >>> Without ocfs2_error(), ocfs2 could accept...
2023 May 09
1
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...ase before, but just limit the print. But >>>>>> it seems not enough now. >>>>> >>>>> I wrote in my previous mail. Follow your idea, The code should be: >>>>> >>>>> if (is_journal_aborted(journal)) { >>>>> ocfs2_error(osb->sb, "jbd2 status: ABORT.\n"); //this line is important. >>>>> return -EROFS; >>>>> } >>>>> >>>>> Only return -EROFS then break loop in ocfs2_commit_thread() is not enough. >>>>> Without ocfs2_error(), ocfs...
2009 Jul 10
2
[PATCH 1/1] a fix of logging return value.
in ocfs2_file_aio_write(), log_exit() could don't log the value which is really returned. this patch fixes it. Signed-off-by: Wengang Wang <wen.gang.wang at oracle.com> --- fs/ocfs2/file.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 62442e4..a49fa44 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -1918,8
2009 Aug 03
1
[PATCH] ocfs2: Handle quota file corruption more gracefully
ocfs2_read_virt_blocks() does BUG when we try to read a block from a file beyond its end. Since this can happen due to filesystem corruption, it is not really an appropriate answer. Make ocfs2_read_quota_block() check the condition and handle it by calling ocfs2_error() and returning EIO. Reported-by: Tristan Ye <tristan.ye at oracle.com> Signed-off-by: Jan Kara <jack at suse.cz> --- Joel, could you please merge this fix? Thanks. fs/ocfs2/quota_global.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/fs/ocfs2/quot...
2008 Oct 15
1
[PATCH] ocfs2: Wrap inode block reads in a dedicated function.
...+int ocfs2_validate_inode_block(struct super_block *sb, > + struct buffer_head *bh) > +{ > + int rc = -EINVAL; > + struct ocfs2_dinode *di = (struct ocfs2_dinode *)bh->b_data; > + > + BUG_ON(!buffer_uptodate(bh)); > + > + if (!OCFS2_IS_VALID_DINODE(di)) { > + ocfs2_error(sb, "Invalid dinode #%llu: signature = %.*s\n", > + (unsigned long long)bh->b_blocknr, 7, > + di->i_signature); > + goto bail; > + } > + > + if (le64_to_cpu(di->i_blkno) != bh->b_blocknr) { > + ocfs2_error(sb, "Invalid dinode #%llu: i_bl...
2006 Aug 15
0
[git patches] ocfs2 updates
...eck_group_descriptor(struct super_block *sb, + struct ocfs2_dinode *di, + struct ocfs2_group_desc *gd) +{ + unsigned int max_bits; + + if (!OCFS2_IS_VALID_GROUP_DESC(gd)) { + OCFS2_RO_ON_INVALID_GROUP_DESC(sb, gd); + return -EIO; + } + + if (di->i_blkno != gd->bg_parent_dinode) { + ocfs2_error(sb, "Group descriptor # %llu has bad parent " + "pointer (%llu, expected %llu)", + (unsigned long long)le64_to_cpu(gd->bg_blkno), + (unsigned long long)le64_to_cpu(gd->bg_parent_dinode), + (unsigned long long)le64_to_cpu(di->i_blkno)); + return...
2023 Apr 30
3
[PATCH 2/2] ocfs2: add error handling path when jbd2 enter ABORT status
...urnal.c +++ b/fs/ocfs2/journal.c @@ -312,11 +312,16 @@ static int ocfs2_commit_cache(struct ocfs2_super *osb) status = jbd2_journal_flush(journal->j_journal, 0); jbd2_journal_unlock_updates(journal->j_journal); if (status < 0) { + if (is_journal_aborted(journal->j_journal)) { + ocfs2_error(osb->sb, "jbd2 status: ABORT.\n"); + goto reset; + } up_write(&journal->j_trans_barrier); mlog_errno(status); goto finally; } +reset: ocfs2_inc_trans_id(journal); flushed = atomic_read(&journal->j_num_trans); diff --git a/fs/ocfs2/localalloc.c b/fs/o...
2013 Oct 21
1
Kernel BUG in ocfs2_get_clusters_nocache
...fs2_get_clusters_nocache (fs/ocfs2/extent_map.c:475). 470 goto out_hole; 471 } 472 473 rec = &el->l_recs[i]; 474 475 BUG_ON(v_cluster < le32_to_cpu(rec->e_cpos)); 476 477 if (!rec->e_blkno) { 478 ocfs2_error(inode->i_sb, "Inode %lu has bad extent " 479 "record (%u, %u, 0)", inode->i_ino, This happend the second time but I don't have a reproducer. It is a KVM host with a dual Primary DRBD/OCFS2 System. Kernel is 3.11.4 Thanks! Cheers, Davi...
2009 Feb 13
44
[PATCH 0/40] ocfs2: Detach ocfs2 metadata I/O from struct inode
The following series of patches attempts to detach metadata I/O from struct inode. They are currently tied together pretty tightly. Metadata reads happen via the ocfs2_read_blocks() functions, writes via both jbd2 and ocfs2_write_blocks(). - Each inode has a cache of associated metadata blocks stored on its ip_metadata_cache member. The ocfs2_read/write_blocks() functions take a struct
2015 Oct 14
1
Ocfs2-devel Digest, Vol 138, Issue 31 review
...lan, I intend to create a small utility or extend fsck.ocfs2 > to fix small errors such as in the inode. The input to the utility such > as the inode can come from the kernel logs so we don't have to schedule a > downtime for fixing small-enough errors. > > The patch changes the ocfs2_error to return an error. The error returned > depends on the mount option set. If none is set, the default is to turn > the filesystem read-only. > > Perhaps errors=continue is not the best option name. Historically it is > used for making an attempt to progress in the current process...
2015 Oct 14
1
Ocfs2-devel Digest, Vol 138, Issue 31 review
...lan, I intend to create a small utility or extend fsck.ocfs2 > to fix small errors such as in the inode. The input to the utility such > as the inode can come from the kernel logs so we don't have to schedule a > downtime for fixing small-enough errors. > > The patch changes the ocfs2_error to return an error. The error returned > depends on the mount option set. If none is set, the default is to turn > the filesystem read-only. > > Perhaps errors=continue is not the best option name. Historically it is > used for making an attempt to progress in the current process...
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
2008 Sep 02
1
[PATCH] ocfs2: Fix a bug in direct IO read.
ocfs2 will become read-only if we try to read the bytes which pass the end of i_size. This can be easily reproduced by following steps: 1. mkfs a ocfs2 volume with bs=4k cs=4k and nosparse. 2. create a small file(say less than 100 bytes) and we will create the file which is allocated 1 cluster. 3. read 8196 bytes from the kernel using O_DIRECT which exceeds the limit. 4. The ocfs2 volume
2009 Mar 05
3
[PATCH 0/2] ocfs2: two bug fixes about xattr and inline-data V2
Hi, Thanks Tao and Joel's review, These are the second version of the patches. Mark and Joel, you can correct my comments if you find they don't suitable. thanks, tiger
2009 Jan 30
8
[PATCH 0/7] ocfs2: Directory indexing support
The following patches implement indexed directory support in Ocfs2, mostly according to the design doc I wrote up a while ago: http://oss.oracle.com/osswiki/OCFS2/DesignDocs/IndexedDirectories The patches have been rebased on top of 2.6.29-rc2. It should be trivial to put them into merge_window. Things are what I'd call complete now. I'd like to get these into the merge_window branch
2009 Mar 27
42
[PATCH 00/42] ocfs2: Add reflink file support. V1
Hi all, So I have finally finished the v1 of reflink for ocfs2. It has some bugs that I am still investigating, but the schema is almost there. So I'd like to send it out first for review. And Tristan and I will continue to work on the stability of the code. The general information for reflink, please see http://oss.oracle.com/osswiki/OCFS2/DesignDocs/Reflink. For the design doc, please
2009 Apr 03
42
[PATCH 00/42] ocfs2: Add reflink file support. V2
Hi all, Change from v1 to v2: bug fix and metadata/credits reservation improvement. The general information for reflink, please see http://oss.oracle.com/osswiki/OCFS2/DesignDocs/Reflink. For the design doc, please see http://oss.oracle.com/osswiki/OCFS2/DesignDocs/RefcountTrees http://oss.oracle.com/osswiki/OCFS2/DesignDocs/ReflinkOperation
2009 Apr 30
42
[PATCH 00/39] ocfs2: Add reflink file support. V3
Hi all, So I have finally finished the v3 of reflink for ocfs2. The biggest change is that we support 64bit cluster offset now(Thank Mark and Joel for it). [View] http://oss.oracle.com/git/?p=tma/linux-2.6.git;a=shortlog;h=refcount [Pull] git://oss.oracle.com/git/tma/linux-2.6.git refcount The general information for reflink, please see http://oss.oracle.com/osswiki/OCFS2/DesignDocs/Reflink.