From af207e6cd8ea27b58a0e82f720d0fe75a33cd76b Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> Date: Sun, 3 Oct 2010 13:31:58 +0000 Subject: [PATCH] 2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> Print message when performing slow file allocation at first time. * src/SingleFileAllocationIterator.cc * src/SingleFileAllocationIterator.h --- ChangeLog | 6 ++++++ src/SingleFileAllocationIterator.cc | 23 ++++++++++++++++++++--- src/SingleFileAllocationIterator.h | 3 +++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index d3e3f404..d93be9bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> + + Print message when performing slow file allocation at first time. + * src/SingleFileAllocationIterator.cc + * src/SingleFileAllocationIterator.h + 2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net> Fixed compile error on OpenBSD4.7(i386). In openssl.m4, we first diff --git a/src/SingleFileAllocationIterator.cc b/src/SingleFileAllocationIterator.cc index 019c2ce7..96d91f76 100644 --- a/src/SingleFileAllocationIterator.cc +++ b/src/SingleFileAllocationIterator.cc @@ -33,18 +33,28 @@ */ /* copyright --> */ #include "SingleFileAllocationIterator.h" + +#include <cstring> +#include <cstdlib> + #include "BinaryStream.h" #include "util.h" #include "a2io.h" -#include <cstring> -#include <cstdlib> +#include "Logger.h" +#include "LogFactory.h" namespace aria2 { #define BUFSIZE (256*1024) #define ALIGNMENT 512 -SingleFileAllocationIterator::SingleFileAllocationIterator(BinaryStream* stream, off_t offset, uint64_t totalLength):stream_(stream), offset_(offset), totalLength_(totalLength), buffer_(0) +SingleFileAllocationIterator::SingleFileAllocationIterator +(BinaryStream* stream, off_t offset, uint64_t totalLength): + stream_(stream), + offset_(offset), + totalLength_(totalLength), + buffer_(0), + logger_(LogFactory::getInstance()) { if(offset_%ALIGNMENT != 0) { stream_->disableDirectIO(); @@ -62,6 +72,13 @@ SingleFileAllocationIterator::~SingleFileAllocationIterator() void SingleFileAllocationIterator::init() { + static bool noticeDone = false; + if(!noticeDone) { + noticeDone = true; + logger_->notice("Allocating disk space. Use --file-allocation=none to" + " disable it. See --file-allocation option in man page for" + " more details."); + } #ifdef HAVE_POSIX_MEMALIGN buffer_ = reinterpret_cast<unsigned char*> (util::allocateAlignedMemory(ALIGNMENT, BUFSIZE)); diff --git a/src/SingleFileAllocationIterator.h b/src/SingleFileAllocationIterator.h index 11df3b6d..3efc0d9e 100644 --- a/src/SingleFileAllocationIterator.h +++ b/src/SingleFileAllocationIterator.h @@ -40,6 +40,7 @@ namespace aria2 { class BinaryStream; +class Logger; class SingleFileAllocationIterator:public FileAllocationIterator { @@ -51,6 +52,8 @@ private: uint64_t totalLength_; unsigned char* buffer_; + + Logger* logger_; public: SingleFileAllocationIterator(BinaryStream* stream, off_t offset, uint64_t totalLength);