git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
UBIFS: allow for racing between GC and TNC
[safe/jmp/linux-2.6]
/
fs
/
ubifs
/
gc.c
diff --git
a/fs/ubifs/gc.c
b/fs/ubifs/gc.c
index
d0f3dac
..
13f1019
100644
(file)
--- a/
fs/ubifs/gc.c
+++ b/
fs/ubifs/gc.c
@@
-344,6
+344,12
@@
int ubifs_garbage_collect_leb(struct ubifs_info *c, struct ubifs_lprops *lp)
if (err)
goto out;
+ /* Allow for races with TNC */
+ c->gced_lnum = lnum;
+ smp_wmb();
+ c->gc_seq += 1;
+ smp_wmb();
+
if (c->gc_lnum == -1) {
c->gc_lnum = lnum;
err = LEB_RETAINED;