Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 161264 Details for
Bug 251053
GFS2 panic at function = do_strip, file = fs/gfs2/bmap.c, line = 764
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
patch used last night
gfs2_dir_bh.patch (text/plain), 3.02 KB, created by
Wendy Cheng
on 2007-08-14 12:15:07 UTC
(
hide
)
Description:
patch used last night
Filename:
MIME Type:
Creator:
Wendy Cheng
Created:
2007-08-14 12:15:07 UTC
Size:
3.02 KB
patch
obsolete
>--- linux.37/fs/gfs2/dir.c 2007-08-11 18:39:11.000000000 -0400 >+++ linux/fs/gfs2/dir.c 2007-08-13 16:35:20.000000000 -0400 >@@ -1043,6 +1043,7 @@ static int dir_split_leaf(struct inode * > > error = gfs2_meta_inode_buffer(dip, &dibh); > if (!gfs2_assert_withdraw(GFS2_SB(&dip->i_inode), !error)) { >+ gfs2_trans_add_bh(dip->i_gl, dibh, 1); > dip->i_di.di_blocks++; > gfs2_set_inode_blocks(&dip->i_inode); > gfs2_dinode_out(dip, dibh->b_data); >@@ -1921,10 +1922,17 @@ static int leaf_dealloc(struct gfs2_inod > > gfs2_free_meta(dip, blk, 1); > >+#if defined(NOT_NOW) > if (!dip->i_di.di_blocks) > gfs2_consist_inode(dip); >+#endif >+ > dip->i_di.di_blocks--; > gfs2_set_inode_blocks(&dip->i_inode); >+ >+ if (!dip->i_di.di_blocks) >+ gfs2_consist_inode(dip); >+ > } > > error = gfs2_dir_write_data(dip, ht, index * sizeof(u64), size); >--- linux.37/fs/gfs2/bmap.c 2007-08-11 18:39:11.000000000 -0400 >+++ linux/fs/gfs2/bmap.c 2007-08-13 17:32:39.000000000 -0400 >@@ -226,10 +226,10 @@ static int build_height(struct inode *in > { > struct gfs2_inode *ip = GFS2_I(inode); > unsigned new_height = height - ip->i_di.di_height; >- struct buffer_head *dibh; >+ struct buffer_head *dibh=0; > struct buffer_head *blocks[GFS2_MAX_META_HEIGHT]; > struct gfs2_dinode *di; >- int error; >+ int error=0; > __be64 *bp; > u64 bn; > unsigned n; >@@ -417,7 +417,6 @@ static int lookup_block(struct gfs2_inod > *ptr = cpu_to_be64(*block); > ip->i_di.di_blocks++; > gfs2_set_inode_blocks(&ip->i_inode); >- > *new = 1; > return 0; > } >@@ -496,12 +495,18 @@ int gfs2_block_map(struct inode *inode, > > find_metapath(ip, lblock, &mp); > end_of_metadata = ip->i_di.di_height - 1; >+ > error = gfs2_meta_inode_buffer(ip, &bh); > if (error) > goto out_fail; > > for (x = 0; x < end_of_metadata; x++) { > lookup_block(ip, bh, x, &mp, create, &new, &dblock); >+ if (new) { >+ /* this is unlikely but let's add sanity check here */ >+ printk("ERROR: lookup_block allocated new buffer ? \n"); >+ gfs2_dinode_out(ip, bh->b_data); >+ } > brelse(bh); > if (!dblock) > goto out_ok; >@@ -511,6 +516,10 @@ int gfs2_block_map(struct inode *inode, > goto out_fail; > } > >+ if (new) { >+ printk("gfs2_block_map new is not zero\n"); >+ new = 0; >+ } > boundary = lookup_block(ip, bh, end_of_metadata, &mp, create, &new, &dblock); > if (dblock) { > map_bh(bh_map, inode->i_sb, dblock); >@@ -532,6 +541,9 @@ int gfs2_block_map(struct inode *inode, > > mp.mp_list[end_of_metadata]++; > boundary = lookup_block(ip, bh, end_of_metadata, &mp, 0, &new, &eblock); >+ if (new) { >+ printk("ERROR: lookup_block 3rd new non zero\n"); >+ } > if (eblock != ++dblock) > break; > bh_map->b_size += (1 << inode->i_blkbits); >@@ -743,6 +755,9 @@ static int do_strip(struct gfs2_inode *i > if (!*p) > continue; > >+ if (!ip->i_di.di_blocks) >+ gfs2_consist_inode(ip); >+ > bn = be64_to_cpu(*p); > > if (bstart + blen == bn) >@@ -760,8 +775,6 @@ static int do_strip(struct gfs2_inode *i > } > > *p = 0; >- if (!ip->i_di.di_blocks) >- gfs2_consist_inode(ip); > ip->i_di.di_blocks--; > gfs2_set_inode_blocks(&ip->i_inode); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 251053
:
161128
|
161129
|
161264
|
161304
|
161428
|
161691
|
161715
|
161787
|
161788
|
161838
|
161840