[haiku-commits] r35434 - haiku/trunk/src/add-ons/kernel/file_systems/fat

  • From: anevilyak@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 9 Feb 2010 02:13:35 +0100 (CET)

Author: anevilyak
Date: 2010-02-09 02:13:35 +0100 (Tue, 09 Feb 2010)
New Revision: 35434
Changeset: http://dev.haiku-os.org/changeset/35434/haiku
Ticket: http://dev.haiku-os.org/ticket/3690

Modified:
   haiku/trunk/src/add-ons/kernel/file_systems/fat/dir.c
   haiku/trunk/src/add-ons/kernel/file_systems/fat/fat.c
Log:
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.



Modified: haiku/trunk/src/add-ons/kernel/file_systems/fat/dir.c
===================================================================
--- haiku/trunk/src/add-ons/kernel/file_systems/fat/dir.c       2010-02-08 
22:50:38 UTC (rev 35433)
+++ haiku/trunk/src/add-ons/kernel/file_systems/fat/dir.c       2010-02-09 
01:13:35 UTC (rev 35434)
@@ -921,7 +921,7 @@
 
        _node->private_node = NULL;
        _node->ops = &gFATVnodeOps;
-       _flags = 0;
+       *_flags = 0;
 
        DPRINTF(0, ("dosfs_read_vnode (vnode id %Lx)\n", vnid));
 

Modified: haiku/trunk/src/add-ons/kernel/file_systems/fat/fat.c
===================================================================
--- haiku/trunk/src/add-ons/kernel/file_systems/fat/fat.c       2010-02-08 
22:50:38 UTC (rev 35433)
+++ haiku/trunk/src/add-ons/kernel/file_systems/fat/fat.c       2010-02-09 
01:13:35 UTC (rev 35434)
@@ -29,7 +29,6 @@
 mirror_fats(nspace *vol, uint32 sector, uint8 *buffer)
 {
        uint32 i;
-       char *buf = buffer;
 
        if (!vol->fat_mirrored)
                return B_OK;
@@ -43,8 +42,7 @@
 
                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);
        }
 


Other related posts:

  • » [haiku-commits] r35434 - haiku/trunk/src/add-ons/kernel/file_systems/fat - anevilyak