OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_74_1-118-g5ea24a7
Gerrit Code Review
gerrit@openafs.org
Tue, 18 May 2010 06:09:12 -0700 (PDT)
The following commit has been merged in the master branch:
commit 5ea24a7c5534b4fda7904284d21d34b6e52a3f27
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date: Mon May 17 20:15:46 2010 +0100
Fileserver: Don't sync every 10 seconds
The patch which moved our calls to fsync into the background, added
a sync prior to each batch of fsync calls. This is an incredibly bad
idea.
POSIX says that sync "shall cause all information in memory that
updates file systems to be scheduled for writing out to all file
systems". On Linux this means that we in effect perform an fsync()
on every open filehandle on the entire system, and in addition flush
all superblocks and journals out to disk. This makes the following
fsync() calls superfluous - sync() will have already written out
all of the data.
Add to this the fact that the fileserver is doing this every 10
seconds, and this becomes a major performance bottleneck,
particularly if the machine uses a journalled fs - as any disk
operations will end up blocking whilst the journal is written to
disk.
Change-Id: Id06cb99ae83af2e4a82e7b20fb14b8457dc16883
Reviewed-on: http://gerrit.openafs.org/1977
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Rainer Toebbicke <rtb@pclella.cern.ch>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/vol/ihandle.c | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
--
OpenAFS Master Repository