From: Jianpeng Ma Date: Tue, 23 Jun 2015 06:13:54 +0000 (+0800) Subject: rados: For export/import add correctly fadvise flags. X-Git-Tag: v9.0.3~89^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=33a841527750e80b38557c12ed0431e067dff53a;p=ceph.git rados: For export/import add correctly fadvise flags. Signed-off-by: Jianpeng Ma --- diff --git a/src/tools/rados/PoolDump.cc b/src/tools/rados/PoolDump.cc index efc274b6fa0e..fa230315e7ba 100644 --- a/src/tools/rados/PoolDump.cc +++ b/src/tools/rados/PoolDump.cc @@ -153,6 +153,8 @@ int PoolDump::dump(IoCtx *io_ctx) } r = write_simple(TYPE_POOL_END, file_fd); + if (file_fd != STDOUT_FILENO) + posix_fadvise(file_fd, 0, 0, POSIX_FADV_DONTNEED); return r; } diff --git a/src/tools/rados/RadosImport.cc b/src/tools/rados/RadosImport.cc index 9fe06c3577bb..32fee3811647 100644 --- a/src/tools/rados/RadosImport.cc +++ b/src/tools/rados/RadosImport.cc @@ -110,6 +110,9 @@ int RadosImport::import(librados::IoCtx &io_ctx, bool no_overwrite) } #endif + if (file_fd != STDIN_FILENO) + posix_fadvise(file_fd, 0, 0, POSIX_FADV_SEQUENTIAL); + bool done = false; bool found_metadata = false; while(!done) { @@ -149,6 +152,8 @@ int RadosImport::import(librados::IoCtx &io_ctx, bool no_overwrite) cerr << "Missing metadata section!" << std::endl; } + if (file_fd != STDIN_FILENO) + posix_fadvise(file_fd, 0, 0, POSIX_FADV_DONTNEED); return 0; }