diff options
author | Josef Bacik <josef@redhat.com> | 2010-03-12 14:28:18 -0500 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-04-05 14:42:00 -0400 |
commit | b5cb160084fad438c513d0952849e597ffe9e3d9 (patch) | |
tree | 91a5a1352cc803695b2ae3b3217c82d423ca5edf /fs/fs_struct.c | |
parent | 28ecb60906e86e74e9ad4ac7e0218d8631e73a94 (diff) |
Btrfs: fix small race with delalloc flushing waitqueue's
Everytime we start a new flushing thread, we init the waitqueue if there isn't a
flushing thread running. The problem with this is we check
space_info->flushing, which we clear right before doing a wake_up on the
flushing waitqueue, which causes problems if we init the waitqueue in the middle
of clearing the flushing flagh and calling wake_up. This is hard to hit, but
the code is wrong anyway, so init the flushing/allocating waitqueue when
creating the space info and let it be. I haven't seen the panic since I've been
using this patch. Thanks,
Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/fs_struct.c')
0 files changed, 0 insertions, 0 deletions