From 177ea1a461db7313366fcb4d9f9fa6fab7f3f181 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Tue, 9 Feb 2010 01:13:35 +0000 Subject: [PATCH] Apply patches by romain: - Initialize flags argument correctly in get_vnode. - Fix issues with handling the FAT mirror incorrectly. Should resolve ticket #3690 and possibly others. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35434 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/file_systems/fat/dir.c | 2 +- src/add-ons/kernel/file_systems/fat/fat.c | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/add-ons/kernel/file_systems/fat/dir.c b/src/add-ons/kernel/file_systems/fat/dir.c index 88b00ff2a1..fbec44172b 100644 --- a/src/add-ons/kernel/file_systems/fat/dir.c +++ b/src/add-ons/kernel/file_systems/fat/dir.c @@ -921,7 +921,7 @@ dosfs_read_vnode(fs_volume *_vol, ino_t vnid, fs_vnode *_node, int *_type, _node->private_node = NULL; _node->ops = &gFATVnodeOps; - _flags = 0; + *_flags = 0; DPRINTF(0, ("dosfs_read_vnode (vnode id %Lx)\n", vnid)); diff --git a/src/add-ons/kernel/file_systems/fat/fat.c b/src/add-ons/kernel/file_systems/fat/fat.c index 922652bde1..959ec1fe44 100644 --- a/src/add-ons/kernel/file_systems/fat/fat.c +++ b/src/add-ons/kernel/file_systems/fat/fat.c @@ -29,7 +29,6 @@ static status_t mirror_fats(nspace *vol, uint32 sector, uint8 *buffer) { uint32 i; - char *buf = buffer; if (!vol->fat_mirrored) return B_OK; @@ -43,8 +42,7 @@ mirror_fats(nspace *vol, uint32 sector, uint8 *buffer) blockData = block_cache_get_writable_etc(vol->fBlockCache, sector + i * vol->sectors_per_fat, 0, 1, -1); - memcpy(blockData, buf, vol->bytes_per_sector); - buf += vol->bytes_per_sector; + memcpy(blockData, buffer, vol->bytes_per_sector); block_cache_put(vol->fBlockCache, sector + i * vol->sectors_per_fat); }