diff options
author | Raghavendra G <raghavendra@gluster.com> | 2010-05-04 02:28:11 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2010-05-04 03:32:14 -0700 |
commit | 2f6b222476a6ca0e5d96946876e1a53eccad9fe7 (patch) | |
tree | fd3053c89a6092789e5392dba518d2161faecc52 /libglusterfsclient | |
parent | e3ad79741be19d190a1722a27473531edd1498bf (diff) |
performance/read-ahead: don't set ra_file in fd->ctx unless all memebers of ra_file is initialized
- If ptr to ra_file is set in fd->ctx even before initializing all its
members, A race condition may occur b/w a thread executing ra_fstat,
ra_readv etc (where all files open on the same inode are flushed) and
the thread doing initialization of ra_file (in ra_open_cbk or
ra_create_cbk). Because of this race-condition, flush_region might be
called on an uninitialized ra_file, thereby causing crash.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 868 (crash in ra_fstat)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=868
Diffstat (limited to 'libglusterfsclient')
0 files changed, 0 insertions, 0 deletions