From: Jianpeng Ma Date: Fri, 23 Jan 2015 01:31:48 +0000 (+0800) Subject: osd: Add pg_pool_t FLAG_WRITE_FADVISE_DONTNEED X-Git-Tag: v0.93~160^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ec3f79d6bc70f20b4d18058b1d6ef1effca18bdf;p=ceph.git osd: Add pg_pool_t FLAG_WRITE_FADVISE_DONTNEED This flag mean all write for this pool don't cache data in osd side afting writing. This mainly for situation which write-data don't need in the future. The behavior like POSIX_FADV_DONTNEED. Signed-off-by: Jianpeng Ma --- diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 10728fa6c60c..14974b8d35f6 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -826,6 +826,7 @@ struct pg_pool_t { FLAG_NODELETE = 1<<4, // pool can't be deleted FLAG_NOPGCHANGE = 1<<5, // pool's pg and pgp num can't be changed FLAG_NOSIZECHANGE = 1<<6, // pool's size and min size can't be changed + FLAG_WRITE_FADVISE_DONTNEED = 1<<7, // write mode with LIBRADOS_OP_FLAG_FADVISE_DONTNEED }; static const char *get_flag_name(int f) { @@ -837,6 +838,7 @@ struct pg_pool_t { case FLAG_NODELETE: return "nodelete"; case FLAG_NOPGCHANGE: return "nopgchange"; case FLAG_NOSIZECHANGE: return "nosizechange"; + case FLAG_WRITE_FADVISE_DONTNEED: return "write_fadvise_dontneed"; default: return "???"; } } @@ -869,6 +871,8 @@ struct pg_pool_t { return FLAG_NOPGCHANGE; if (name == "nosizechange") return FLAG_NOSIZECHANGE; + if (name == "write_fadvise_dontneed") + return FLAG_WRITE_FADVISE_DONTNEED; return 0; }