From 9205a2a97aed84f85c764485ec9ab9f00a1d88f1 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 10 Jun 2010 16:12:49 +1000 Subject: [PATCH] include iolock info in strblk Also make sure info is useful when iolock_written is used. Signed-off-by: NeilBrown --- checkpoint.c | 7 +++++++ io.c | 2 +- lafs.h | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/checkpoint.c b/checkpoint.c index 5f21acd..cac0455 100644 --- a/checkpoint.c +++ b/checkpoint.c @@ -164,6 +164,13 @@ char *strblk(struct block *b) iblk(b)->uninc ? "*" : "", iblk(b)->uninc_next ? "+" : ""); } +#ifdef DEBUG_IOLOCK + if (test_bit(B_IOLock, &b->flags)) { + sprintf(ans+strlen(ans), "<%s:%d>", + strrchr(b->iolock_file, '/'), + b->iolock_line); + } +#endif if (!b->parent) sprintf(ans+strlen(ans), " NP"); #if DEBUG_REF diff --git a/io.c b/io.c index 9810d5f..d15bec8 100644 --- a/io.c +++ b/io.c @@ -363,7 +363,7 @@ static void wait_writeback(struct block *b) } } -void lafs_iolock_written(struct block *b) +void _lafs_iolock_written(struct block *b) { lafs_iolock_block(b); wait_writeback(b); diff --git a/lafs.h b/lafs.h index c4f96d1..bfd0fa5 100644 --- a/lafs.h +++ b/lafs.h @@ -114,10 +114,11 @@ int lafs_index_empty(struct indexblock *ib); #define set_iolock_info(b) (0) #endif #define lafs_iolock_block(b) do { _lafs_iolock_block(b); set_iolock_info(b); } while(0) +#define lafs_iolock_written(b) do { _lafs_iolock_written(b); set_iolock_info(b); } while(0) void lafs_io_wake(struct block *b); void _lafs_iolock_block(struct block *b); -void lafs_iolock_written(struct block *b); +void _lafs_iolock_written(struct block *b); void lafs_iounlock_block(struct block *b); void lafs_iocheck_block(struct datablock *db, int unlock); void lafs_iocheck_writeback(struct datablock *db, int unlock); -- 2.39.5