From 0af72b1ead780a2fdde3d4af77ba603bfcef6dd1 Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Tue, 7 Aug 2001 15:38:04 +0000 Subject: [PATCH] Fixed a bug in VfatWriteFile(). For partitions with clusters < 4k, there was calculated the wrong start cluster. svn path=/trunk/; revision=2163 --- reactos/drivers/fs/vfat/rw.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/reactos/drivers/fs/vfat/rw.c b/reactos/drivers/fs/vfat/rw.c index 3eb84a26c12..fb320c25ede 100644 --- a/reactos/drivers/fs/vfat/rw.c +++ b/reactos/drivers/fs/vfat/rw.c @@ -1,5 +1,5 @@ -/* $Id: rw.c,v 1.28 2001/08/05 16:35:52 hbirr Exp $ +/* $Id: rw.c,v 1.29 2001/08/07 15:38:04 hbirr Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -835,9 +835,12 @@ VfatWriteFile (PDEVICE_EXTENSION DeviceExt, PFILE_OBJECT FileObject, } FirstCluster = CurrentCluster; } - Status = OffsetToCluster(DeviceExt, FirstCluster, WriteOffset, - &CurrentCluster, TRUE); - + Status = OffsetToCluster(DeviceExt, + FirstCluster, + ROUND_DOWN(WriteOffset, ChunkSize), + &CurrentCluster, + TRUE); + if (WriteOffset + Length > Fcb->entry.FileSize && !(Fcb->entry.Attrib & FILE_ATTRIBUTE_DIRECTORY)) {