diff options
author | Tao Ma <tao.ma@oracle.com> | 2009-08-27 14:46:56 +0800 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2009-08-27 18:10:54 -0700 |
commit | a1b08e75dff3dc18a88444803753e667bb1d126e (patch) | |
tree | b782aaa5e2775c693bb711647e9e2b2331003fb4 /fs/ocfs2/ver.c | |
parent | c795b33ba171e41563ab7e25105c0cd4edd81cd7 (diff) | |
download | op-kernel-dev-a1b08e75dff3dc18a88444803753e667bb1d126e.zip op-kernel-dev-a1b08e75dff3dc18a88444803753e667bb1d126e.tar.gz |
ocfs2: invalidate dentry if its dentry_lock isn't initialized.
In commit a5a0a630922a2f6a774b6dac19f70cb5abd86bb0, when
ocfs2_attch_dentry_lock fails, we call an extra iput and reset
dentry->d_fsdata to NULL. This resolve a bug, but it isn't
completed and the dentry is still there. When we want to use
it again, ocfs2_dentry_revalidate doesn't catch it and return
true. That make future ocfs2_dentry_lock panic out.
One bug is http://oss.oracle.com/bugzilla/show_bug.cgi?id=1162.
The resolution is to add a check for dentry->d_fsdata in
revalidate process and return false if dentry->d_fsdata is NULL,
so that a new ocfs2_lookup will be called again.
Signed-off-by: Tao Ma <tao.ma@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/ver.c')
0 files changed, 0 insertions, 0 deletions