Whamcloud - gitweb
LU-12645 llite: Move readahead debug before exit 32/51932/5
authorPatrick Farrell <pfarrell@whamcloud.com>
Fri, 11 Aug 2023 22:01:26 +0000 (18:01 -0400)
committerOleg Drokin <green@whamcloud.com>
Thu, 31 Aug 2023 06:19:39 +0000 (06:19 +0000)
The core debug of ll_readahead() is before two return
conditions, which makes it really tricky to debug those
conditions.

Let's fix that.

Test-Parameters: trivial
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Ic3a3854527cad62c891c6a25029353a4742e555f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51932
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/llite/rw.c

index 91b5784..c4468ee 100644 (file)
@@ -812,24 +812,26 @@ static int ll_readahead(const struct lu_env *env, struct cl_io *io,
        }
        spin_unlock(&ras->ras_lock);
 
+       pages = ria_page_count(ria);
+
+       RAS_CDEBUG(ras);
+       CDEBUG(D_READA,
+              DFID": ria: %lu/%lu, bead: %lu/%lu, pages %lu, hit: %d\n",
+              PFID(lu_object_fid(&clob->co_lu)),
+              ria->ria_start_idx, ria->ria_end_idx,
+              vio->vui_ra_valid ? vio->vui_ra_start_idx : 0,
+              vio->vui_ra_valid ? vio->vui_ra_pages : 0,
+              pages, hit);
+
        if (end_idx == 0) {
                ll_ra_stats_inc(inode, RA_STAT_ZERO_WINDOW);
                RETURN(0);
        }
-       pages = ria_page_count(ria);
        if (pages == 0) {
                ll_ra_stats_inc(inode, RA_STAT_ZERO_WINDOW);
                RETURN(0);
        }
 
-       RAS_CDEBUG(ras);
-       CDEBUG(D_READA, DFID": ria: %lu/%lu, bead: %lu/%lu, hit: %d\n",
-              PFID(lu_object_fid(&clob->co_lu)),
-              ria->ria_start_idx, ria->ria_end_idx,
-              vio->vui_ra_valid ? vio->vui_ra_start_idx : 0,
-              vio->vui_ra_valid ? vio->vui_ra_pages : 0,
-              hit);
-
        /* at least to extend the readahead window to cover current read */
        if (!hit && vio->vui_ra_valid &&
            vio->vui_ra_start_idx + vio->vui_ra_pages > ria->ria_start_idx) {
@@ -1846,6 +1848,8 @@ static bool ll_use_fast_io(struct file *file,
        loff_t skip_pages;
        loff_t stride_bytes = ras->ras_stride_bytes;
 
+       RAS_CDEBUG(ras);
+
        if (stride_io_mode(ras) && stride_bytes) {
                skip_pages = (ras->ras_stride_length +
                        ras->ras_stride_bytes - 1) / stride_bytes;