aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2018-05-31 14:09:54 -0500
committerEric Sandeen <sandeen@redhat.com>2018-05-31 14:09:54 -0500
commitece9fa6e400424b05c0af9daf5ccc38aeca8908f (patch)
tree01f4dc0c6ee56ff60ddbce44f96c8be0cc295581 /tools
parentc2b571f1b2cfcd4097b4cab6c929bbd59806ff64 (diff)
downloadxfsprogs-dev-ece9fa6e400424b05c0af9daf5ccc38aeca8908f.tar.gz
xfs_buflock: record line number of trace where we locked the buffer
Enhance the debug output by reporting at which line in the trace output we locked a particular buffer. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Allison Henderson <allison.henderson@oracle.com> Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/xfsbuflock.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/xfsbuflock.py b/tools/xfsbuflock.py
index cc15f582c4..954f095435 100755
--- a/tools/xfsbuflock.py
+++ b/tools/xfsbuflock.py
@@ -85,6 +85,7 @@ class Buffer:
self.locktime = None
self.owner = None
self.waiters = set()
+ self.lockline = 0
def trylock(self, process, time):
if not self.locked:
@@ -92,7 +93,8 @@ class Buffer:
def lockdone(self, process, time):
if self.locked:
- print('Buffer already locked on line %d?!' % nr)
+ print('Buffer 0x%x already locked at line %d? (line %d)' % \
+ (self.bno, self.lockline, nr))
# process.dump()
# self.dump()
# assert False
@@ -101,6 +103,7 @@ class Buffer:
self.locked = True
self.owner = process
self.locktime = time
+ self.lockline = nr
process.locked_bufs.add(self)
process.bufs.add(self)
locked_buffers.add(self)
@@ -118,7 +121,8 @@ class Buffer:
def dump(self):
if self.owner is not None:
- pid = '%s@%f' % (self.owner.pid, self.locktime)
+ pid = '%s@%f (line %d)' % \
+ (self.owner.pid, self.locktime, self.lockline)
else:
pid = ''
print('dev %s bno 0x%x nblks 0x%x lock %d owner %s' % \