From 68579bd2f4284ba9128cb972f8edaace03d466e5 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Thu, 6 Dec 2007 12:32:27 +0000 Subject: 2007-12-06 Tatsuhiro Tsujikawa Changed Direct/IO enable/disable procesure in file allocation routine. * src/SingleFileAllocationIterator.cc (SingleFileAllocationIterator): Disable directIO if offset is not multiple of 512. (~SingleFileAllocationIterator): Removed a call to disableDirectIO. * src/MultiFileAllocationIterator.cc (allocateChunk): Enable created SingleFileAllocationIterator's directIO. * src/FileAllocationEntry.cc (FileAllocationEntry): Enable directIO here. (~FileAllocationEntry): Disable directIO here. --- src/MultiFileAllocationIterator.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'src/MultiFileAllocationIterator.cc') diff --git a/src/MultiFileAllocationIterator.cc b/src/MultiFileAllocationIterator.cc index 04961ae6..b6f8dd10 100644 --- a/src/MultiFileAllocationIterator.cc +++ b/src/MultiFileAllocationIterator.cc @@ -57,6 +57,7 @@ void MultiFileAllocationIterator::allocateChunk() _entries.pop_front(); FileEntryHandle fileEntry = entry->getFileEntry(); if(entry->size() < fileEntry->getLength()) { + entry->getDiskWriter()->enableDirectIO(); _fileAllocationIterator = new SingleFileAllocationIterator(entry->getDiskWriter().get(), entry->size(), -- cgit