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));
|
strlcpy(fLabel, label, sizeof(fLabel));
|
||||||
fSum = checksum(data, size);
|
fSum = checksum(data, size);
|
||||||
memcpy(fBytes, data, min_c(size, sizeof(fBytes)));
|
|
||||||
Initialized();
|
Initialized();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void AddDump(char *buffer, size_t size)
|
virtual void AddDump(char *buffer, size_t size)
|
||||||
{
|
{
|
||||||
uint32 length = snprintf(buffer, size, "%s: block %Ld (%p), sum %lu,"
|
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);
|
fLength);
|
||||||
for (uint32 i = 0; length < size - 1 && i < sizeof(fBytes); i++) {
|
|
||||||
length += snprintf(buffer + length, size - length, "%02x",
|
|
||||||
fBytes[i]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -126,7 +121,6 @@ class Block : public AbstractTraceEntry {
|
|||||||
uint32 fLength;
|
uint32 fLength;
|
||||||
uint32 fSum;
|
uint32 fSum;
|
||||||
char fLabel[12];
|
char fLabel[12];
|
||||||
uint8 fBytes[32];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace BFSBlockTracing
|
} // namespace BFSBlockTracing
|
||||||
|
|||||||
@@ -78,6 +78,28 @@ class Remove : public AbstractTraceEntry {
|
|||||||
char fName[32];
|
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 {
|
class Resize : public AbstractTraceEntry {
|
||||||
public:
|
public:
|
||||||
Resize(Inode* inode, off_t oldSize, off_t newSize)
|
Resize(Inode* inode, off_t oldSize, off_t newSize)
|
||||||
@@ -2116,6 +2138,8 @@ Inode::NeedsTrimming()
|
|||||||
status_t
|
status_t
|
||||||
Inode::TrimPreallocation(Transaction &transaction)
|
Inode::TrimPreallocation(Transaction &transaction)
|
||||||
{
|
{
|
||||||
|
T(Action("TRIM", this));
|
||||||
|
|
||||||
status_t status = _ShrinkStream(transaction, Size());
|
status_t status = _ShrinkStream(transaction, Size());
|
||||||
if (status < B_OK)
|
if (status < B_OK)
|
||||||
return status;
|
return status;
|
||||||
|
|||||||
Reference in New Issue
Block a user