From 4a6cd3b3f9dbafcee2c55fb76a3f17e374d7eaea Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 14 Jul 2010 00:04:43 +0000 Subject: [PATCH] * Added some stat data setters. * Added virtual methods needed for files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37506 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../system/kernel/file_corruption/fs/Node.cpp | 84 +++++++++++++++++++ .../system/kernel/file_corruption/fs/Node.h | 18 +++- 2 files changed, 101 insertions(+), 1 deletion(-) diff --git a/src/tests/system/kernel/file_corruption/fs/Node.cpp b/src/tests/system/kernel/file_corruption/fs/Node.cpp index 9826e3b0b1..ce1138361b 100644 --- a/src/tests/system/kernel/file_corruption/fs/Node.cpp +++ b/src/tests/system/kernel/file_corruption/fs/Node.cpp @@ -11,6 +11,7 @@ #include #include "Block.h" +#include "DebugSupport.h" static inline uint64 @@ -69,6 +70,41 @@ Node::~Node() } +status_t +Node::InitForVFS() +{ + return B_OK; +} + + +status_t +Node::DeletingNode(Transaction& transaction) +{ + return B_OK; +} + + +status_t +Node::Resize(uint64 newSize, bool fillWithZeroes, Transaction& transaction) +{ + RETURN_ERROR(B_BAD_VALUE); +} + + +status_t +Node::Read(off_t pos, void* buffer, size_t size, size_t& _bytesRead) +{ + RETURN_ERROR(B_BAD_VALUE); +} + + +status_t +Node::Write(off_t pos, const void* buffer, size_t size, size_t& _bytesWritten) +{ + RETURN_ERROR(B_BAD_VALUE); +} + + void Node::SetParentDirectory(uint32 blockIndex) { @@ -85,10 +121,58 @@ Node::SetHardLinks(uint32 value) } +void +Node::SetUID(uint32 uid) +{ + fNode.uid = uid; + fNodeDataDirty = true; +} + + +void +Node::SetGID(uint32 gid) +{ + fNode.gid = gid; + fNodeDataDirty = true; +} + + void Node::SetSize(uint64 size) { fNode.size = size; + fNodeDataDirty = true; +} + + +void +Node::SetAccessedTime(uint64 time) +{ + fAccessedTime = time; +} + + +void +Node::SetCreationTime(uint64 time) +{ + fNode.creationTime = time; + fNodeDataDirty = true; +} + + +void +Node::SetModificationTime(uint64 time) +{ + fNode.modificationTime = time; + fNodeDataDirty = true; +} + + +void +Node::SetChangeTime(uint64 time) +{ + fNode.changeTime = time; + fNodeDataDirty = true; } diff --git a/src/tests/system/kernel/file_corruption/fs/Node.h b/src/tests/system/kernel/file_corruption/fs/Node.h index ef38ce03cf..366c1f6962 100644 --- a/src/tests/system/kernel/file_corruption/fs/Node.h +++ b/src/tests/system/kernel/file_corruption/fs/Node.h @@ -34,6 +34,16 @@ public: mode_t mode); virtual ~Node(); + virtual status_t InitForVFS(); + virtual status_t DeletingNode(Transaction& transaction); + + virtual status_t Resize(uint64 newSize, bool fillWithZeroes, + Transaction& transaction); + virtual status_t Read(off_t pos, void* buffer, size_t size, + size_t& _bytesRead); + virtual status_t Write(off_t pos, const void* buffer, + size_t size, size_t& _bytesWritten); + inline const checksumfs_node& NodeData() const { return fNode; } inline Volume* GetVolume() const { return fVolume; } inline uint64 BlockIndex() const { return fBlockIndex; } @@ -50,7 +60,13 @@ public: void SetParentDirectory(uint32 blockIndex); void SetHardLinks(uint32 value); + void SetUID(uint32 uid); + void SetGID(uint32 gid); void SetSize(uint64 size); + void SetAccessedTime(uint64 time); + void SetCreationTime(uint64 time); + void SetModificationTime(uint64 time); + void SetChangeTime(uint64 time); void Touched(int32 mode); @@ -59,7 +75,7 @@ public: inline bool WriteLock(); inline void WriteUnlock(); - void RevertNodeData(const checksumfs_node& nodeData); + virtual void RevertNodeData(const checksumfs_node& nodeData); status_t Flush(Transaction& transaction);