summaryrefslogtreecommitdiff
path: root/src/SingleFileAllocationIterator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/SingleFileAllocationIterator.cc')
-rw-r--r--src/SingleFileAllocationIterator.cc23
1 files changed, 20 insertions, 3 deletions
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));