lustre: instantiate negative dentry
In the atomic_open callback. We should instantiate negative dentry. Else will got sanity:183 failed. Signed-off-by: yang sheng <yang.sheng@intel.com> Reviewed-on: http://review.whamcloud.com/8110 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3228 Reviewed-by: Peng Tao <bergwolf@gmail.com> Reviewed-by: Lai Siyao <lai.siyao@intel.com> Reviewed-by: James Simmons <uja.ornl@gmail.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
7486bc06ab
commit
08a78a27e1
1 changed files with 6 additions and 0 deletions
|
@ -468,6 +468,12 @@ int ll_lookup_it_finish(struct ptlrpc_request *request,
|
||||||
if (IS_ERR(alias))
|
if (IS_ERR(alias))
|
||||||
return PTR_ERR(alias);
|
return PTR_ERR(alias);
|
||||||
*de = alias;
|
*de = alias;
|
||||||
|
} else if (!it_disposition(it, DISP_LOOKUP_NEG) &&
|
||||||
|
!it_disposition(it, DISP_OPEN_CREATE)) {
|
||||||
|
/* With DISP_OPEN_CREATE dentry will
|
||||||
|
instantiated in ll_create_it. */
|
||||||
|
LASSERT((*de)->d_inode == NULL);
|
||||||
|
d_instantiate(*de, inode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!it_disposition(it, DISP_LOOKUP_NEG)) {
|
if (!it_disposition(it, DISP_LOOKUP_NEG)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue