From 5d8d6d9a0aaed67489430ba49a36adc72475e84a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sat, 19 Jan 2008 16:36:53 +0000 Subject: [PATCH] Improved tracing output a bit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23643 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../file_systems/bfs/BlockAllocator.cpp | 8 +------ src/add-ons/kernel/file_systems/bfs/Inode.cpp | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/src/add-ons/kernel/file_systems/bfs/BlockAllocator.cpp b/src/add-ons/kernel/file_systems/bfs/BlockAllocator.cpp index 7f5d86b4d9..9895d3df8e 100644 --- a/src/add-ons/kernel/file_systems/bfs/BlockAllocator.cpp +++ b/src/add-ons/kernel/file_systems/bfs/BlockAllocator.cpp @@ -104,19 +104,14 @@ class Block : public AbstractTraceEntry { { strlcpy(fLabel, label, sizeof(fLabel)); fSum = checksum(data, size); - memcpy(fBytes, data, min_c(size, sizeof(fBytes))); Initialized(); } virtual void AddDump(char *buffer, size_t size) { uint32 length = snprintf(buffer, size, "%s: block %Ld (%p), sum %lu," - " s/l %lu/%lu, bytes ", fLabel, fBlock, fData, fSum, fStart, + " s/l %lu/%lu", fLabel, fBlock, fData, fSum, fStart, fLength); - for (uint32 i = 0; length < size - 1 && i < sizeof(fBytes); i++) { - length += snprintf(buffer + length, size - length, "%02x", - fBytes[i]); - } } private: @@ -126,7 +121,6 @@ class Block : public AbstractTraceEntry { uint32 fLength; uint32 fSum; char fLabel[12]; - uint8 fBytes[32]; }; } // namespace BFSBlockTracing diff --git a/src/add-ons/kernel/file_systems/bfs/Inode.cpp b/src/add-ons/kernel/file_systems/bfs/Inode.cpp index 0a4afb5af8..a0745bea7a 100644 --- a/src/add-ons/kernel/file_systems/bfs/Inode.cpp +++ b/src/add-ons/kernel/file_systems/bfs/Inode.cpp @@ -78,6 +78,28 @@ class Remove : public AbstractTraceEntry { char fName[32]; }; +class Action : public AbstractTraceEntry { + public: + Action(const char* action, Inode* inode) + : + fInode(inode), + fID(inode->ID()) + { + strlcpy(fAction, action, sizeof(fAction)); + Initialized(); + } + + virtual void AddDump(char *buffer, size_t size) + { + snprintf(buffer, size, "%s %Ld (%p)\n", fAction, fID, fInode); + } + + private: + Inode* fInode; + ino_t fID; + char fAction[16]; +}; + class Resize : public AbstractTraceEntry { public: Resize(Inode* inode, off_t oldSize, off_t newSize) @@ -2116,6 +2138,8 @@ Inode::NeedsTrimming() status_t Inode::TrimPreallocation(Transaction &transaction) { + T(Action("TRIM", this)); + status_t status = _ShrinkStream(transaction, Size()); if (status < B_OK) return status;