Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixes some scability and access to not inited memory problems
[fs/lustre-release.git]
/
lustre
/
mdd
/
mdd_dir.c
diff --git
a/lustre/mdd/mdd_dir.c
b/lustre/mdd/mdd_dir.c
index
b20bb9c
..
c90f83b
100644
(file)
--- a/
lustre/mdd/mdd_dir.c
+++ b/
lustre/mdd/mdd_dir.c
@@
-979,8
+979,7
@@
static int mdd_create_data(const struct lu_env *env, struct md_object *pobj,
if (rc)
RETURN(rc);
if (rc)
RETURN(rc);
- if (spec->sp_cr_flags & MDS_OPEN_DELAY_CREATE ||
- !(spec->sp_cr_flags & FMODE_WRITE))
+ if (!md_should_create(spec->sp_cr_flags))
RETURN(0);
rc = mdd_lov_create(env, mdd, mdd_pobj, son, &lmm, &lmm_size,
RETURN(0);
rc = mdd_lov_create(env, mdd, mdd_pobj, son, &lmm, &lmm_size,
@@
-1016,7
+1015,7
@@
static int mdd_create_data(const struct lu_env *env, struct md_object *pobj,
/* update lov_objid data, must be before transaction stop! */
if (rc == 0)
/* update lov_objid data, must be before transaction stop! */
if (rc == 0)
- mdd_lov_objid_update(
env, mdd
);
+ mdd_lov_objid_update(
mdd, lmm
);
mdd_trans_stop(env, mdd, rc, handle);
out_free:
mdd_trans_stop(env, mdd, rc, handle);
out_free:
@@
-1064,7
+1063,7
@@
__mdd_lookup(const struct lu_env *env, struct md_object *pobj,
(struct dt_rec *)pack, key,
mdd_object_capa(env, mdd_obj));
if (rc == 0)
(struct dt_rec *)pack, key,
mdd_object_capa(env, mdd_obj));
if (rc == 0)
- fid_unpack(pack, fid);
+
rc =
fid_unpack(pack, fid);
} else
rc = -ENOTDIR;
} else
rc = -ENOTDIR;
@@
-1390,7
+1389,7
@@
cleanup:
/* update lov_objid data, must be before transaction stop! */
if (rc == 0)
/* update lov_objid data, must be before transaction stop! */
if (rc == 0)
- mdd_lov_objid_update(
env, mdd
);
+ mdd_lov_objid_update(
mdd, lmm
);
mdd_pdo_write_unlock(env, mdd_pobj, dlh);
out_trans:
mdd_pdo_write_unlock(env, mdd_pobj, dlh);
out_trans: