X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fvfs%2Ffs%2Ffat.c;h=d70fae0cdea695086133677fcdd5a380977915ba;hb=466eda7c917791866a29c253c6c22197faf41bf7;hp=c7f2d4de4aed1e0644cd3ac7079d43ec5829aeb5;hpb=ae66b3678eec6777c8f5d170ed330c7d6e85e1f0;p=tpg%2Facess2.git diff --git a/Kernel/vfs/fs/fat.c b/Kernel/vfs/fs/fat.c index c7f2d4de..d70fae0c 100644 --- a/Kernel/vfs/fs/fat.c +++ b/Kernel/vfs/fs/fat.c @@ -1,28 +1,15 @@ /* - * Acess2 + * Acess 2 * FAT12/16/32 Driver Version (Incl LFN) */ -//INCLUDES +#define DEBUG 0 #include #include #include #include "fs_fat.h" -#define DEBUG 0 #define VERBOSE 1 -#if DEBUG -# define DEBUGS(v...) Log(v) -#else -# define DEBUGS(v...) -# undef ENTER -# undef LOG -# undef LEAVE -# define ENTER(...) -# define LOG(...) -# define LEAVE(...) -#endif - #define CACHE_FAT 1 //!< Caches the FAT in memory #define USE_LFN 1 //!< Enables the use of Long File Names @@ -38,7 +25,7 @@ typedef struct s_lfncache { // === PROTOTYPES === int FAT_Install(char **Arguments); -tVFS_Node *FAT_InitDevice(char *device, char *options); +tVFS_Node *FAT_InitDevice(char *device, char **options); void FAT_Unmount(tVFS_Node *Node); Uint64 FAT_Read(tVFS_Node *node, Uint64 offset, Uint64 length, void *buffer); Uint64 FAT_Write(tVFS_Node *node, Uint64 offset, Uint64 length, void *buffer); @@ -49,7 +36,7 @@ tVFS_Node *FAT_FindDir(tVFS_Node *dirNode, char *file); void FAT_CloseFile(tVFS_Node *node); // === SEMI-GLOBALS === -MODULE_DEFINE(0, 0x5B /*v0.90*/, FAT32, FAT_Install, NULL); +MODULE_DEFINE(0, 0x51 /*v0.80*/, FAT32, FAT_Install, NULL); tFAT_VolInfo gFAT_Disks[8]; int giFAT_PartCount = 0; #if CACHE_FAT @@ -74,10 +61,10 @@ int FAT_Install(char **Arguments) } /** - * \fn tVFS_Node *FAT_InitDevice(char *Device, char *options) + * \fn tVFS_Node *FAT_InitDevice(char *Device, char **options) * \brief Reads the boot sector of a disk and prepares the structures for it */ -tVFS_Node *FAT_InitDevice(char *Device, char *options) +tVFS_Node *FAT_InitDevice(char *Device, char **options) { fat_bootsect *bs; int i; @@ -213,16 +200,13 @@ tVFS_Node *FAT_InitDevice(char *Device, char *options) fat_cache[giFAT_PartCount][i] = buf[i&127]; } } - DEBUGS(" FAT_InitDisk: FAT Fully Cached\n"); + LOG("FAT Fully Cached"); } #endif /*CACHE_FAT*/ //Initalise inode cache for FAT gFAT_Disks[giFAT_PartCount].inodeHandle = Inode_GetHandle(); - - #if DEBUG - Log(" FAT_InitDisk: Inode Cache handle is %i\n", gFAT_Disks[giFAT_PartCount].inodeHandle); - #endif + LOG("Inode Cache handle is %i", gFAT_Disks[giFAT_PartCount].inodeHandle); // == VFS Interface node = &gFAT_Disks[giFAT_PartCount].rootNode; @@ -292,9 +276,7 @@ static Uint32 FAT_int_GetFatValue(int handle, Uint32 cluster) */ static void FAT_int_ReadCluster(int Handle, Uint32 Cluster, int Length, void *Buffer) { - #if DEBUG ENTER("iHandle xCluster iLength pBuffer", Handle, Cluster, Length, Buffer); - #endif VFS_ReadAt( gFAT_Disks[Handle].fileHandle, (gFAT_Disks[Handle].firstDataSect + (Cluster-2)*gFAT_Disks[Handle].bootsect.spc ) @@ -302,9 +284,7 @@ static void FAT_int_ReadCluster(int Handle, Uint32 Cluster, int Length, void *Bu Length, Buffer ); - #if DEBUG LEAVE('-'); - #endif } /** @@ -344,13 +324,13 @@ Uint64 FAT_Read(tVFS_Node *node, Uint64 offset, Uint64 length, void *buffer) // Sanity Check offset if(offset > node->Size) { - Log("FAT_Read: Reading past EOF (%i > %i)", offset, node->Size); + //Log("FAT_Read: Reading past EOF (%i > %i)", offset, node->Size); return 0; } // Clamp Size if(offset + length > node->Size) { - Log("FAT_Read: Reading past EOF (%lli + %lli > %lli), clamped to %lli", - offset, length, node->Size, node->Size - offset); + //Log("FAT_Read: Reading past EOF (%lli + %lli > %lli), clamped to %lli", + // offset, length, node->Size, node->Size - offset); length = node->Size - offset; }