diff options
author | Matt Wu <qiang.x.wu@oracle.com> | 2011-01-27 13:03:08 +0300 |
---|---|---|
committer | Matt Wu <qiang.x.wu@oracle.com> | 2011-01-27 13:03:08 +0300 |
commit | 46bcb509143446bf7242c928c8a18b8bee9877f5 (patch) | |
tree | 35420521953fc32895ae7e05a216fcd4ad7ed297 /Ext3Fsd/write.c | |
parent | e984c76dfa1ca04b535a22e20dc88230b47ca829 (diff) |
Version 0.49a
1, htree directory index support
2, memory allocation and check
3, buffer head implemented over cache pages
4, inode optimization, not whole inode needed
Diffstat (limited to 'Ext3Fsd/write.c')
-rw-r--r-- | Ext3Fsd/write.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/Ext3Fsd/write.c b/Ext3Fsd/write.c index 8f85843..aaab968 100644 --- a/Ext3Fsd/write.c +++ b/Ext3Fsd/write.c @@ -105,7 +105,7 @@ Ext2FloppyFlush(IN PVOID Parameter) } IoSetTopLevelIrp(NULL); - ExFreePoolWithTag(Parameter, EXT2_FLPFLUSH_MAGIC); + Ext2FreePool(Parameter, EXT2_FLPFLUSH_MAGIC); } VOID @@ -136,7 +136,7 @@ Ext2StartFloppyFlushDpc ( ASSERT(IsFlagOn(Vcb->Flags, VCB_FLOPPY_DISK)); - Context = ExAllocatePoolWithTag( + Context = Ext2AllocatePool( NonPagedPool, sizeof(EXT2_FLPFLUSH_CONTEXT), EXT2_FLPFLUSH_MAGIC @@ -1034,12 +1034,8 @@ Ext2WriteFile(IN PEXT2_IRP_CONTEXT IrpContext) Fcb->Header.FileSize.QuadPart = Fcb->Mcb->FileSize.QuadPart = ExtendSize.QuadPart; - - Fcb->Inode->i_size = ExtendSize.LowPart; - if (S_ISREG(Fcb->Inode->i_mode)) { - Fcb->Inode->i_size_high = (ULONG) ExtendSize.HighPart; - } - Ext2SaveInode(IrpContext, Vcb, Fcb->Mcb->iNo, Fcb->Inode); + Fcb->Inode->i_size = ExtendSize.QuadPart; + Ext2SaveInode(IrpContext, Vcb, Fcb->Inode); if (Fcb->Header.FileSize.QuadPart >= 0x80000000 && !IsFlagOn(SUPER_BLOCK->s_feature_ro_compat, EXT2_FEATURE_RO_COMPAT_LARGE_FILE)) { |