GFS2: Fix ref count bug relating to atomic_open
In the case that atomic_open calls finish_no_open() with the dentry that was supplied to gfs2_atomic_open() an extra reference count is required. This patch fixes that issue preventing a bug trap triggering at umount time. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
parent
e3c4269d13
commit
ea0341e071
1 changed files with 4 additions and 1 deletions
|
@ -1171,8 +1171,11 @@ static int gfs2_atomic_open(struct inode *dir, struct dentry *dentry,
|
|||
if (d != NULL)
|
||||
dentry = d;
|
||||
if (dentry->d_inode) {
|
||||
if (!(*opened & FILE_OPENED))
|
||||
if (!(*opened & FILE_OPENED)) {
|
||||
if (d == NULL)
|
||||
dget(dentry);
|
||||
return finish_no_open(file, dentry);
|
||||
}
|
||||
dput(d);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue