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))
|
||||
return PTR_ERR(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)) {
|
||||
|
|
Loading…
Add table
Reference in a new issue