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 941715 Details for
Bug 1133395
GFS2: corrupt/inconsistent inodes caused by generic operations approximately after kernel-3.13.8
[?]
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]
Early prototype #2
upstream.rename.try2.patch (text/plain), 1.76 KB, created by
Robert Peterson
on 2014-09-26 20:37:16 UTC
(
hide
)
Description:
Early prototype #2
Filename:
MIME Type:
Creator:
Robert Peterson
Created:
2014-09-26 20:37:16 UTC
Size:
1.76 KB
patch
obsolete
>diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c >index 1a349f9..5d4261f 100644 >--- a/fs/gfs2/dir.c >+++ b/fs/gfs2/dir.c >@@ -2100,8 +2100,13 @@ int gfs2_diradd_alloc_required(struct inode *inode, const struct qstr *name, > } > if (IS_ERR(dent)) > return PTR_ERR(dent); >- da->bh = bh; >- da->dent = dent; >+ >+ if (da->save_loc) { >+ da->bh = bh; >+ da->dent = dent; >+ } else { >+ brelse(bh); >+ } > return 0; > } > >diff --git a/fs/gfs2/dir.h b/fs/gfs2/dir.h >index 126c65d..e1b309c 100644 >--- a/fs/gfs2/dir.h >+++ b/fs/gfs2/dir.h >@@ -23,6 +23,7 @@ struct gfs2_diradd { > unsigned nr_blocks; > struct gfs2_dirent *dent; > struct buffer_head *bh; >+ int save_loc; > }; > > extern struct inode *gfs2_dir_search(struct inode *dir, >diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c >index 9516f5c..fcf42ea 100644 >--- a/fs/gfs2/inode.c >+++ b/fs/gfs2/inode.c >@@ -600,7 +600,7 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, > int error, free_vfs_inode = 0; > u32 aflags = 0; > unsigned blocks = 1; >- struct gfs2_diradd da = { .bh = NULL, }; >+ struct gfs2_diradd da = { .bh = NULL, .save_loc = 1, }; > > if (!name->len || name->len > GFS2_FNAMESIZE) > return -ENAMETOOLONG; >@@ -900,7 +900,7 @@ static int gfs2_link(struct dentry *old_dentry, struct inode *dir, > struct gfs2_inode *ip = GFS2_I(inode); > struct gfs2_holder ghs[2]; > struct buffer_head *dibh; >- struct gfs2_diradd da = { .bh = NULL, }; >+ struct gfs2_diradd da = { .bh = NULL, .save_loc = 1, }; > int error; > > if (S_ISDIR(inode->i_mode)) >@@ -1338,7 +1338,7 @@ static int gfs2_rename(struct inode *odir, struct dentry *odentry, > struct gfs2_rgrpd *nrgd; > unsigned int num_gh; > int dir_rename = 0; >- struct gfs2_diradd da = { .nr_blocks = 0, }; >+ struct gfs2_diradd da = { .nr_blocks = 0, .save_loc = 0, }; > unsigned int x; > int error; >
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 1133395
:
930329
|
941703
| 941715