Improved tracing output a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23643 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user