Jeff Mahoney
c2598e4729
- Fix crash in xfs_repair when threads fail to start (bsc#1019938). * xfs_repair-clear-pthread_t-when-pthread_create-fails.patch * Added xfs_repair-add-prefetch-trace-calls-to-debug-thread-creation-failures.patch * xfs_repair-fix-thread-creation-failure-recovery.patch - fsr: fix uninitialized fs usage after timeout (bsc#1002699). * Added fsr-fix-uninitialized-fs-usage-after-timeout.patch OBS-URL: https://build.opensuse.org/request/show/505781 OBS-URL: https://build.opensuse.org/package/show/filesystems/xfsprogs?expand=0&rev=49
61 lines
1.8 KiB
Diff
61 lines
1.8 KiB
Diff
From: Jeff Mahoney <jeffm@suse.com>
|
|
Subject: xfs_repair: add prefetch trace calls to debug thread creation failures
|
|
Patch-mainline: Submitted, 16 Jan 2017
|
|
References: bsc#1019938
|
|
|
|
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 <jeffm@suse.com>
|
|
---
|
|
repair/prefetch.c | 9 ++++++++-
|
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/repair/prefetch.c b/repair/prefetch.c
|
|
index 044fab2..37d60d6 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);
|
|
}
|
|
|
|
--
|
|
2.7.1
|
|
|
|
--
|
|
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
|
|
the body of a message to majordomo@vger.kernel.org
|
|
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
|
|
|
|