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
LU-9753 ofd: 64-bits diff variable to avoid overflow
[fs/lustre-release.git]
/
lustre
/
target
/
update_trans.c
diff --git
a/lustre/target/update_trans.c
b/lustre/target/update_trans.c
index
031c49c
..
36ab331
100644
(file)
--- a/
lustre/target/update_trans.c
+++ b/
lustre/target/update_trans.c
@@
-1420,6
+1420,7
@@
distribute_txn_commit_batchid_update(const struct lu_env *env,
th = dt_trans_create(env, tdtd->tdtd_lut->lut_bottom);
if (IS_ERR(th)) {
th = dt_trans_create(env, tdtd->tdtd_lut->lut_bottom);
if (IS_ERR(th)) {
+ atomic_dec(&tdtd->tdtd_refcount);
OBD_FREE_PTR(dtbd);
RETURN(PTR_ERR(th));
}
OBD_FREE_PTR(dtbd);
RETURN(PTR_ERR(th));
}
@@
-1450,8
+1451,10
@@
distribute_txn_commit_batchid_update(const struct lu_env *env,
stop:
dt_trans_stop(env, tdtd->tdtd_lut->lut_bottom, th);
stop:
dt_trans_stop(env, tdtd->tdtd_lut->lut_bottom, th);
- if (rc < 0)
+ if (rc < 0) {
+ atomic_dec(&tdtd->tdtd_refcount);
OBD_FREE_PTR(dtbd);
OBD_FREE_PTR(dtbd);
+ }
RETURN(rc);
}
RETURN(rc);
}
@@
-1708,7
+1711,7
@@
int distribute_txn_init(const struct lu_env *env,
if (rc != 0)
RETURN(rc);
if (rc != 0)
RETURN(rc);
- task = kthread_run(distribute_txn_commit_thread, tdtd, "
tdtd
-%u",
+ task = kthread_run(distribute_txn_commit_thread, tdtd, "
dist_txn
-%u",
index);
if (IS_ERR(task))
RETURN(PTR_ERR(task));
index);
if (IS_ERR(task))
RETURN(PTR_ERR(task));