mirror of
https://github.com/S3NEO/android_kernel_samsung_msm8226.git
synced 2024-11-07 03:47:13 +00:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes
Pull gfs2 fixes from Steven Whitehouse. * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes: GFS2: Instruct DLM to avoid queue convert slowdown
This commit is contained in:
commit
af3a3ab296
1 changed files with 7 additions and 3 deletions
|
@ -200,10 +200,11 @@ static int make_mode(const unsigned int lmstate)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 make_flags(const u32 lkid, const unsigned int gfs_flags,
|
static u32 make_flags(struct gfs2_glock *gl, const unsigned int gfs_flags,
|
||||||
const int req)
|
const int req)
|
||||||
{
|
{
|
||||||
u32 lkf = DLM_LKF_VALBLK;
|
u32 lkf = DLM_LKF_VALBLK;
|
||||||
|
u32 lkid = gl->gl_lksb.sb_lkid;
|
||||||
|
|
||||||
if (gfs_flags & LM_FLAG_TRY)
|
if (gfs_flags & LM_FLAG_TRY)
|
||||||
lkf |= DLM_LKF_NOQUEUE;
|
lkf |= DLM_LKF_NOQUEUE;
|
||||||
|
@ -227,8 +228,11 @@ static u32 make_flags(const u32 lkid, const unsigned int gfs_flags,
|
||||||
BUG();
|
BUG();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lkid != 0)
|
if (lkid != 0) {
|
||||||
lkf |= DLM_LKF_CONVERT;
|
lkf |= DLM_LKF_CONVERT;
|
||||||
|
if (test_bit(GLF_BLOCKING, &gl->gl_flags))
|
||||||
|
lkf |= DLM_LKF_QUECVT;
|
||||||
|
}
|
||||||
|
|
||||||
return lkf;
|
return lkf;
|
||||||
}
|
}
|
||||||
|
@ -250,7 +254,7 @@ static int gdlm_lock(struct gfs2_glock *gl, unsigned int req_state,
|
||||||
char strname[GDLM_STRNAME_BYTES] = "";
|
char strname[GDLM_STRNAME_BYTES] = "";
|
||||||
|
|
||||||
req = make_mode(req_state);
|
req = make_mode(req_state);
|
||||||
lkf = make_flags(gl->gl_lksb.sb_lkid, flags, req);
|
lkf = make_flags(gl, flags, req);
|
||||||
gfs2_glstats_inc(gl, GFS2_LKS_DCOUNT);
|
gfs2_glstats_inc(gl, GFS2_LKS_DCOUNT);
|
||||||
gfs2_sbstats_inc(gl, GFS2_LKS_DCOUNT);
|
gfs2_sbstats_inc(gl, GFS2_LKS_DCOUNT);
|
||||||
if (gl->gl_lksb.sb_lkid) {
|
if (gl->gl_lksb.sb_lkid) {
|
||||||
|
|
Loading…
Reference in a new issue