1/* Inode - emulation for the B+Tree torture test 2** 3** Initial version by Axel D��rfler, axeld@pinc-software.de 4** This file may be used under the terms of the OpenBeOS License. 5*/ 6 7 8#include "Inode.h" 9#include "Volume.h" 10#include "Journal.h" 11 12 13Inode::Inode(const char *name,int32 mode) 14 : 15 fMode(mode) 16{ 17 fFile.SetTo(name,B_CREATE_FILE | B_READ_WRITE | B_ERASE_FILE); 18 fSize = 0; 19 fVolume = new Volume(&fFile); 20} 21 22 23Inode::~Inode() 24{ 25 delete fVolume; 26} 27 28 29status_t 30Inode::FindBlockRun(off_t pos, block_run &run, off_t &offset) 31{ 32 // the whole file data is covered by this one block_run structure... 33 run.SetTo(0,0,1); 34 offset = 0; 35 return B_OK; 36} 37 38 39status_t 40Inode::Append(Transaction *transaction, off_t bytes) 41{ 42 return SetFileSize(transaction,Size() + bytes); 43} 44 45 46status_t 47Inode::SetFileSize(Transaction *, off_t bytes) 48{ 49 //printf("set size = %ld\n",bytes); 50 fSize = bytes; 51 return fFile.SetSize(bytes); 52} 53 54