gfs2: create function gfs2_glock_update_hold_time
authorAndreas Gruenbacher <agruenba@redhat.com>
Fri, 30 Aug 2019 17:31:01 +0000 (12:31 -0500)
committerAndreas Gruenbacher <agruenba@redhat.com>
Wed, 4 Sep 2019 18:22:17 +0000 (20:22 +0200)
This patch moves the code that updates glock minimum hold
time to a separate function. This will be called by a future
patch.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
fs/gfs2/glock.c

index a27dbd3dec011f6de5c202293f32dc91c3dceaf1..661350989e98e98408b020906a5da51692e997d9 100644 (file)
@@ -931,6 +931,17 @@ void gfs2_holder_uninit(struct gfs2_holder *gh)
        gh->gh_ip = 0;
 }
 
+static void gfs2_glock_update_hold_time(struct gfs2_glock *gl,
+                                       unsigned long start_time)
+{
+       /* Have we waited longer that a second? */
+       if (time_after(jiffies, start_time + HZ)) {
+               /* Lengthen the minimum hold time. */
+               gl->gl_hold_time = min(gl->gl_hold_time + GL_GLOCK_HOLD_INCR,
+                                      GL_GLOCK_MAX_HOLD);
+       }
+}
+
 /**
  * gfs2_glock_wait - wait on a glock acquisition
  * @gh: the glock holder
@@ -940,15 +951,11 @@ void gfs2_holder_uninit(struct gfs2_holder *gh)
 
 int gfs2_glock_wait(struct gfs2_holder *gh)
 {
-       unsigned long time1 = jiffies;
+       unsigned long start_time = jiffies;
 
        might_sleep();
        wait_on_bit(&gh->gh_iflags, HIF_WAIT, TASK_UNINTERRUPTIBLE);
-       if (time_after(jiffies, time1 + HZ)) /* have we waited > a second? */
-               /* Lengthen the minimum hold time. */
-               gh->gh_gl->gl_hold_time = min(gh->gh_gl->gl_hold_time +
-                                             GL_GLOCK_HOLD_INCR,
-                                             GL_GLOCK_MAX_HOLD);
+       gfs2_glock_update_hold_time(gh->gh_gl, start_time);
        return gh->gh_error;
 }