diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2018-05-31 14:09:54 -0500 |
---|---|---|
committer | Eric Sandeen <sandeen@redhat.com> | 2018-05-31 14:09:54 -0500 |
commit | ece9fa6e400424b05c0af9daf5ccc38aeca8908f (patch) | |
tree | 01f4dc0c6ee56ff60ddbce44f96c8be0cc295581 /tools | |
parent | c2b571f1b2cfcd4097b4cab6c929bbd59806ff64 (diff) | |
download | xfsprogs-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-x | tools/xfsbuflock.py | 8 |
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' % \ |