Displaying 17 results from an estimated 17 matches for "buffer_uptodate".
2009 Jun 09
4
[PATCH] btrfs: fix write_dev_supers
Hi.
I got following BUG trace.
This is violation of BUG_ON(!buffer_locked(bh)) check on submit_bh() function.
In write_dev_supers(), if wait parameter is set and buffer_uptodate() check
is negative, submit_bh() is executed and hit above BUG_ON.
So I fixed this issue.
Thanks.
Jun 9 00:41:32 dl580 kernel: ------------[ cut here ]------------
Jun 9 00:41:32 dl580 kernel: kernel BUG at fs/buffer.c:2933!
Jun 9 00:41:32 dl580 kernel: invalid opcode: 0000 [#1] SMP
Jun 9 00...
2005 Jan 04
0
[PATCH] BUG on error handlings in Ext3 under I/O failure condition
...struct buffer_head *wbuf[64];
int bufs;
int flags;
- int err;
+ int err = 0;
unsigned long blocknr;
char *tagp = NULL;
journal_header_t *header;
@@ -299,6 +299,8 @@
spin_unlock(&journal_datalist_lock);
unlock_journal(journal);
wait_on_buffer(bh);
+ if (unlikely(!buffer_uptodate(bh)))
+ err = -EIO;
/* the journal_head may have been removed now */
lock_journal(journal);
goto write_out_data;
@@ -326,6 +328,8 @@
spin_unlock(&journal_datalist_lock);
unlock_journal(journal);
wait_on_buffer(bh);
+ if (unlikely(!buffer_uptodate(bh)))
+ er...
2009 Feb 12
2
[PATCH 1/1] OCFS2: add IO error check in ocfs2_get_sector() -v2
...s/ocfs2/super.c
===================================================================
--- fs/ocfs2/super.c (revision 128)
+++ fs/ocfs2/super.c (working copy)
@@ -1203,6 +1203,12 @@ static int ocfs2_get_sector(struct super
unlock_buffer(*bh);
ll_rw_block(READ, 1, bh);
wait_on_buffer(*bh);
+ if (!buffer_uptodate(*bh)) {
+ mlog_errno(-EIO);
+ brelse(*bh);
+ return -EIO;
+ }
+
return 0;
}
2009 Feb 13
1
[PATCH 1/1] OCFS2: add IO error check in ocfs2_get_sector() -v3
.../super.c.orig ./fs/ocfs2/super.c
--- ./fs/ocfs2/super.c.orig 2009-02-12 18:05:19.023685000 -0800
+++ ./fs/ocfs2/super.c 2009-02-12 18:07:13.995623000 -0800
@@ -1537,6 +1537,13 @@ static int ocfs2_get_sector(struct super
unlock_buffer(*bh);
ll_rw_block(READ, 1, bh);
wait_on_buffer(*bh);
+ if (!buffer_uptodate(*bh)) {
+ mlog_errno(-EIO);
+ brelse(*bh);
+ *bh = NULL;
+ return -EIO;
+ }
+
return 0;
}
2009 Apr 17
1
[PATCH 1/1] OCFS2: Log -EIO errors just when hit them.
...ly
* uptodate. */
status = -EIO;
+ mlog(ML_ERROR, "reading block %llu failed with"
+ " %d\n",
+ (u64)bh->b_blocknr, status);
put_bh(bh);
bhs[i] = NULL;
continue;
@@ -431,6 +438,8 @@ int ocfs2_write_super_or_backup(struct o
if (!buffer_uptodate(bh)) {
ret = -EIO;
+ mlog(ML_ERROR, "writing block %llu failed with %d\n",
+ (u64)bh->b_blocknr, ret);
put_bh(bh);
}
2009 Feb 12
0
[PATCH 1/1] OCFS2: add IO error check in ocfs2_get_sector()
...s/ocfs2/super.c
===================================================================
--- fs/ocfs2/super.c (revision 128)
+++ fs/ocfs2/super.c (working copy)
@@ -1203,6 +1203,11 @@ static int ocfs2_get_sector(struct super
unlock_buffer(*bh);
ll_rw_block(READ, 1, bh);
wait_on_buffer(*bh);
+ if (!buffer_uptodate(*bh)) {
+ mlog_errno(-EIO);
+ return -EIO;
+ }
+
return 0;
}
2009 Jul 13
1
[PATCH 1/1] adds mlogs to aops.c
...,
+ page->index, OCFS2_I(inode)->ip_blkno, from, to, new);
+
if (!page_has_buffers(page))
create_empty_buffers(page, bsize, 0);
@@ -842,12 +906,14 @@ int ocfs2_map_page_blocks(struct page *page, u64 *p_blkno,
*/
while(wait_bh > wait) {
wait_on_buffer(*--wait_bh);
- if (!buffer_uptodate(*wait_bh))
+ if (!buffer_uptodate(*wait_bh)) {
ret = -EIO;
+ mlog_errno(ret);
+ }
}
if (ret == 0 || !new)
- return ret;
+ goto bail;
/*
* If we get -EIO above, zero out any newly allocated blocks
@@ -871,6 +937,8 @@ next_bh:
bh = bh->b_this_page;
} while (bh != head);...
2009 Jul 21
1
(no subject)
...nsigned long long)OCFS2_I(inode)->ip_blkno,
+ from, to, new);
+
if (!page_has_buffers(page))
create_empty_buffers(page, bsize, 0);
@@ -842,12 +912,14 @@ int ocfs2_map_page_blocks(struct page *page, u64 *p_blkno,
*/
while(wait_bh > wait) {
wait_on_buffer(*--wait_bh);
- if (!buffer_uptodate(*wait_bh))
+ if (!buffer_uptodate(*wait_bh)) {
ret = -EIO;
+ mlog_errno(ret);
+ }
}
if (ret == 0 || !new)
- return ret;
+ goto bail;
/*
* If we get -EIO above, zero out any newly allocated blocks
@@ -871,6 +943,8 @@ next_bh:
bh = bh->b_this_page;
} while (bh != head);...
2008 Oct 15
1
[PATCH] ocfs2: Wrap inode block reads in a dedicated function.
...t;
> spin_unlock(&OCFS2_I(inode)->ip_lock);
> }
> +
> +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...
2009 Jul 21
1
[PATCH 1/1] ocfs2: adds mlogs to aops.c -V2
...nsigned long long)OCFS2_I(inode)->ip_blkno,
+ from, to, new);
+
if (!page_has_buffers(page))
create_empty_buffers(page, bsize, 0);
@@ -842,12 +912,14 @@ int ocfs2_map_page_blocks(struct page *page, u64 *p_blkno,
*/
while(wait_bh > wait) {
wait_on_buffer(*--wait_bh);
- if (!buffer_uptodate(*wait_bh))
+ if (!buffer_uptodate(*wait_bh)) {
ret = -EIO;
+ mlog_errno(ret);
+ }
}
if (ret == 0 || !new)
- return ret;
+ goto bail;
/*
* If we get -EIO above, zero out any newly allocated blocks
@@ -871,6 +943,8 @@ next_bh:
bh = bh->b_this_page;
} while (bh != head);...
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 Apr 17
26
OCFS2 1.4: Patches backported from mainline
Please review the list of patches being applied to the ocfs2 1.4 tree.
All patches list the mainline commit hash.
Thanks
Sunil
2009 Mar 17
33
[git patches] Ocfs2 updates for 2.6.30
Hi,
The following patches comprise the bulk of Ocfs2 updates for the
2.6.30 merge window. Aside from larger, more involved fixes, we're adding
the following features, which I will describe in the order their patches are
mailed.
Sunil's exported some more state to our debugfs files, and
consolidated some other aspects of our debugfs infrastructure. This will
further aid us in debugging
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.
2009 Feb 13
44
[PATCH 0/40] ocfs2: Detach ocfs2 metadata I/O from struct inode
...ts to ocfs2_caching_info, we can then
embed ocfs2_caching_info into another structure just as easily as we do
inside struct inode. That's the theory, anyway.
The first three patches move the cache code to ocfs2_caching_info
entirely. The functions affecting the metadata cache, like
ocfs2_set_buffer_uptodate(), etc, take a struct ocfs2_caching_info
instead of a struct inode. That sort of thing. It's nice and easy.
The next three patches move the journal transaction ids to struct
ocfs2_caching_info. When they are done, the ocfs2_journal_access*()
functions take a stuct ocfs2_caching_info, and th...
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