From: Jeff Mahoney Date: Tue, 22 Aug 2017 15:01:31 +0000 (-0500) Subject: xfs_repair: add prefetch trace calls to debug thread creation failures X-Git-Tag: v4.13.0-rc1~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8ff6275b3559c276df39f17377c46a58243ccb3;p=thirdparty%2Fxfsprogs-dev.git xfs_repair: add prefetch trace calls to debug thread creation failures When debugging prefetch failures, it's useful to have thread creation failure messages that are output as warnings on stderr in the trace log as well. It's also helpful to see when an AG gets queued behind another one rather than having the thread started directly, which has a separate trace line. Signed-off-by: Jeff Mahoney Reviewed-by: Eric Sandeen Signed-off-by: Eric Sandeen --- diff --git a/repair/prefetch.c b/repair/prefetch.c index 044fab2e5..37d60d674 100644 --- a/repair/prefetch.c +++ b/repair/prefetch.c @@ -703,6 +703,8 @@ pf_queuing_worker( if (err != 0) { do_warn(_("failed to create prefetch thread: %s\n"), strerror(err)); + pftrace("failed to create prefetch thread for AG %d: %s", + args->agno, strerror(err)); args->io_threads[i] = 0; if (i == 0) { pf_start_processing(args); @@ -817,6 +819,8 @@ pf_create_prefetch_thread( if (err != 0) { do_warn(_("failed to create prefetch thread: %s\n"), strerror(err)); + pftrace("failed to create prefetch thread for AG %d: %s", + args->agno, strerror(err)); args->queuing_thread = 0; cleanup_inode_prefetch(args); } @@ -882,8 +886,11 @@ start_inode_prefetch( if (prev_args->prefetch_done) { if (!pf_create_prefetch_thread(args)) args = NULL; - } else + } else { prev_args->next_args = args; + pftrace("queued AG %d after AG %d", + args->agno, prev_args->agno); + } pthread_mutex_unlock(&prev_args->lock); }