]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
librados: add FADVISE_NOREUSE 3477/head
authorSage Weil <sage@redhat.com>
Fri, 23 Jan 2015 17:06:32 +0000 (09:06 -0800)
committerSage Weil <sage@redhat.com>
Fri, 23 Jan 2015 17:06:32 +0000 (09:06 -0800)
commit4dda030a44366c0360fd2e6d4b22704598034c55
tree7bf61bc250c37aa15a56f61d7853c00969e64b30
parenta73b8f816c831b9c2b599f06dd4b9108d73df8d0
librados: add FADVISE_NOREUSE

We left this off because it seemed the same as DONTNEED, but there is a
subtle distinction: DONTNEED means nobody will need it (and we probably
discard our cache), while NOREUSE means this client won't need it again
(and we should try to avoid polluting the cache from this IO only).  At
least, that's the way we'r defining it.  posix_fadvise says:

       POSIX_FADV_NOREUSE
              The specified data will be accessed only once.
       POSIX_FADV_DONTNEED
              The specified data will not be accessed in the near future.

which is similar.  I think our definitions make a bit more sense for the
multi-client environment.

Signed-off-by: Sage Weil <sage@redhat.com>
src/include/rados.h
src/include/rados/librados.h
src/include/rados/librados.hpp
src/librados/librados.cc
src/osd/osd_types.cc
src/test/librados/aio.cc
src/test/librados/c_write_operations.cc
src/test/librados/io.cc
src/test/librbd/test_librbd.cc