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
This commit is contained in:
Rene Gollent 2010-02-09 01:13:35 +00:00
parent cee04e8074
commit 177ea1a461
2 changed files with 2 additions and 4 deletions

View File

@ -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));

View File

@ -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);
}