aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge/br_input.c
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2006-04-17 00:19:48 +0100
committerDavid Woodhouse <dwmw2@infradead.org>2006-04-17 00:19:48 +0100
commitd96fb997c6174f98a2a0a98200f99ac13b053bd6 (patch)
treebd2400a8553975a6463ef0160a7aaad914a9b236 /net/bridge/br_input.c
parentfb6a82c94a9c69adfb6b9f6ce9f84be36884e471 (diff)
downloadkernel_samsung_tuna-d96fb997c6174f98a2a0a98200f99ac13b053bd6.zip
kernel_samsung_tuna-d96fb997c6174f98a2a0a98200f99ac13b053bd6.tar.gz
kernel_samsung_tuna-d96fb997c6174f98a2a0a98200f99ac13b053bd6.tar.bz2
[JFFS2] Fix race in post-mount node checking
For a while now, we've postponed CRC-checking of data nodes to be done by the GC thread, instead of being done while the user is waiting for mount to finish. The GC thread would iterate through all the inodes on the system and check each of their data nodes. It would skip over inodes which had already been used or were already being read in by read_inode(), because their data nodes would have been examined anyway. However, we could sometimes reach the end of the for-each-inode loop and still have some unchecked space left, if an inode we'd skipped was _still_ in the process of being read. This fixes that race by actually waiting for read_inode() to finish rather than just moving on. Thanks to Ladislav Michl for coming up with a reproducible test case and helping to track it down. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'net/bridge/br_input.c')
0 files changed, 0 insertions, 0 deletions