ocfs2: Re-order iput in ocfs2_drop_dentry_lock
Do this to avoid a theoretical (I haven't seen this in practice) race where the downconvert thread might drop the dentry lock, allowing a remote unlink to proceed before dropping the inode locks. This could bounce access to the orphan dir between nodes. There doesn't seem to be a need to do the same in ocfs2_dentry_iput() as that's never called for the last ref drop from the downconvert thread. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
This commit is contained in:
Родитель
019d1b2247
Коммит
9f70968af3
|
@ -318,9 +318,9 @@ out_attach:
|
||||||
static void ocfs2_drop_dentry_lock(struct ocfs2_super *osb,
|
static void ocfs2_drop_dentry_lock(struct ocfs2_super *osb,
|
||||||
struct ocfs2_dentry_lock *dl)
|
struct ocfs2_dentry_lock *dl)
|
||||||
{
|
{
|
||||||
|
iput(dl->dl_inode);
|
||||||
ocfs2_simple_drop_lockres(osb, &dl->dl_lockres);
|
ocfs2_simple_drop_lockres(osb, &dl->dl_lockres);
|
||||||
ocfs2_lock_res_free(&dl->dl_lockres);
|
ocfs2_lock_res_free(&dl->dl_lockres);
|
||||||
iput(dl->dl_inode);
|
|
||||||
kfree(dl);
|
kfree(dl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче