]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: Add pg_pool_t FLAG_WRITE_FADVISE_DONTNEED
authorJianpeng Ma <jianpeng.ma@intel.com>
Fri, 23 Jan 2015 01:31:48 +0000 (09:31 +0800)
committerJianpeng Ma <jianpeng.ma@intel.com>
Fri, 23 Jan 2015 01:31:48 +0000 (09:31 +0800)
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 <jianpeng.ma@intel.com>
src/osd/osd_types.h

index 10728fa6c60ca3971d67b8d3233fafea32c9eeac..14974b8d35f648a98e54bf213b1a5f40262f1752 100644 (file)
@@ -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;
   }