From: Bob Peterson Date: Thu, 26 Jun 2014 14:47:48 +0000 (-0400) Subject: GFS2: Allow caching of glocks for flock X-Git-Tag: v3.16-rc6~23^2~2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=97a4f1d7653684fff0d50e9328917506f06e9d79;p=~emulex%2Finfiniband.git GFS2: Allow caching of glocks for flock This patch removes the GLF_NOCACHE flag from the glocks associated with flocks. There should be no good reason not to cache glocks for flocks: they only force the glock to be demoted before they can be reacquired, which can slow down performance and even cause glock hangs, especially in cases where the flocks are held in Shared (SH) mode. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse --- diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index 491e8e02359..26b3f952e6b 100644 --- a/fs/gfs2/file.c +++ b/fs/gfs2/file.c @@ -981,7 +981,7 @@ static int do_flock(struct file *file, int cmd, struct file_lock *fl) int error = 0; state = (fl->fl_type == F_WRLCK) ? LM_ST_EXCLUSIVE : LM_ST_SHARED; - flags = (IS_SETLKW(cmd) ? 0 : LM_FLAG_TRY) | GL_EXACT | GL_NOCACHE; + flags = (IS_SETLKW(cmd) ? 0 : LM_FLAG_TRY) | GL_EXACT; mutex_lock(&fp->f_fl_mutex);