{"push_id":597337614,"size":23,"distinct_size":23,"ref":"refs/heads/master","head":"a9c4edab1cb3d4e79a5f4375b726425c4904ebe7","before":"a19f92cfa64741fb801d0e814dd712ab52d4d221","commits":[{"sha":"c57df9c4e6f09c996fa0f54189501be085322b1b","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"introduce compact_set and compact_map\n\nThey are wrapper classes of std::set and std::map, which only contain a\npointer to the actual std::set/std::map. They are aimed for replacing\nstd::set/std::map for class members which are rarely used and mostly\nempty. Replacing each std::set/std::map can save 40 bytes for 64 bits\nprogram.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/c57df9c4e6f09c996fa0f54189501be085322b1b"},{"sha":"98c368f1714de293da78127524cca34689ad9367","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"fragtree_t: define fragtree_t::_splits as compact_map\n\nIn most case, directory inode only contain one dirfrag. So fragtree_t\nfor most directory inode is empty. define fragtree_t::_splits as\ncompact_map can reduce memory usage of CInode.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/98c368f1714de293da78127524cca34689ad9367"},{"sha":"dbca3c2654022e7a81d1b724d2fc22709ea72982","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: use compact_map to optimize memory usage of MDSCacheObject\n\nReplica map and waiting list in MDSCacheObject are rarely used and\nmostly empty. Defining them as compact_map can save 80 bytes for 64\nbits program.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/dbca3c2654022e7a81d1b724d2fc22709ea72982"},{"sha":"3075a07902dc96d89aaac35882a9b4848c4924e3","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: optimize memory usage of class InodeStore\n\nInodeStore::old_inodes and InodeStore::snap_blob are for snapshotted\ninode only. their size are 48 bytes and 80 bytes respectively. Defining\nInodeStore::old_inodes can save 40 bytes, allocating bufferlist for\nsnap_blob dynamiclly can save 72 bytes.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/3075a07902dc96d89aaac35882a9b4848c4924e3"},{"sha":"aa46d487bf974653356857688b80f75b366510fc","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: optimize memory usage of inode_t\n\ninode_t::old_pools is rarely used. Defining it as compact_set can save\n40 bytes. inline_data is also rarely used, dynamiclly allocating bufferlist\nfor inline_data can save another 72 bytes.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/aa46d487bf974653356857688b80f75b366510fc"},{"sha":"00047fbefd87209b2957ba66f7a73fd38c87ac11","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: use compact_map/compact_set to optimize memory usage of CInode\n\ndefine some rarely used containers as compact_map/compact_set. Each\nreplacement can save 40 bytes for 64 bits program.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/00047fbefd87209b2957ba66f7a73fd38c87ac11"},{"sha":"151494f407093706f971dbff7d07d1562110bf80","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: dynamiclly allocate data structures for file locks\n\nSize of ceph_lock_state_t is about 200 bytes, CInode contains two\nceph_lock_state_t. Dynamiclly allocating them can save about 400\nbytes.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/151494f407093706f971dbff7d07d1562110bf80"},{"sha":"96a85e7868bfbbe5aa80c527b4f959aeb04daa98","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: use compact_map/compact_set to optimize memory usage of CDir\n\ndefine some rarely used containers as compact_map/compact_set. Each\nreplacement can save 40 bytes for 64 bits program.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/96a85e7868bfbbe5aa80c527b4f959aeb04daa98"},{"sha":"d7936da0f151d8fd015aa332791be2f7dc7efbf3","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: optimize get_projected_{xattrs,srnode}\n\nthese two functions traverse the whole projected_nodes list if there\nis no projected xatts/srnode. busy directory inode can have large\nprojected_nodes list.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/d7936da0f151d8fd015aa332791be2f7dc7efbf3"},{"sha":"d92dbfd0e685df44bf0c3dc5c120118f5e8538b1","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: optimize CDir::is_{freezing,frozen}_tree()\n\navoid checking ancestor CDir(s) when there is no freezing/frozen tree\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/d92dbfd0e685df44bf0c3dc5c120118f5e8538b1"},{"sha":"ce3d79f5f37de796cb8d8c1085ae6d3d439f4f6f","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"mds: remove MDSCacheObject::get_pin_totals()\n\nMDSCacheObject::get_pin_totals() is debug code of debug code, which\nis not quite useful.\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/ce3d79f5f37de796cb8d8c1085ae6d3d439f4f6f"},{"sha":"eb422a8fb7b54a8a8cbb60886942ec3d72c33c24","author":{"email":"5a3288024fcad83740d827e0862f4c1e6f28e7bf@redhat.com","name":"Yan, Zheng"},"message":"doc: MDS internal data structure\n\nSigned-off-by: Yan, Zheng <zyan@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/eb422a8fb7b54a8a8cbb60886942ec3d72c33c24"},{"sha":"b7e9bf6b98ee48d1977d907a9e5130c0ce073c54","author":{"email":"a52790b05ba389f3162dc3512ddfd95cc95e8d6a@mirantis.com","name":"Radoslaw Zarzynski"},"message":"rgw: add support for X-Timestamp on Swift containers.\n\nFixes: #10938\nBackport: hammer\nSigned-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/b7e9bf6b98ee48d1977d907a9e5130c0ce073c54"},{"sha":"e54fef9542bc2b5db192308728a99df139a4b6cf","author":{"email":"a52790b05ba389f3162dc3512ddfd95cc95e8d6a@mirantis.com","name":"Radoslaw Zarzynski"},"message":"rgw: improve format of X-Timestamp on Swift objects.\n\nBackport: hammer\nSigned-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/e54fef9542bc2b5db192308728a99df139a4b6cf"},{"sha":"a88712aeb4e7cd4208b9a707aa3bd4d03340c3ff","author":{"email":"f79631ad8b99e1c4742356ed154fd23442d38897@yahoo-inc.com","name":"Guang Yang"},"message":"rgw - make starting quota/gc threads configurable\n\nFixes: 11047\nBackport: hammer\n\nSigned-off-by: Guang Yang <yguang@yahoo-inc.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/a88712aeb4e7cd4208b9a707aa3bd4d03340c3ff"},{"sha":"2c7006f8b4f67bce3cfd7fd7b6fd88ef359ddf4a","author":{"email":"5971e5274f1f0ba5329cf4a93393d8fbe5224c44@redhat.com","name":"Loic Dachary"},"message":"mailmap: Zhi (David) Zhang affiliation\n\nAnd name normalization\n\nReviewed-by: Zhi (David) Zhang <zhangz@yahoo-inc.com>\nSigned-off-by: Loic Dachary <ldachary@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/2c7006f8b4f67bce3cfd7fd7b6fd88ef359ddf4a"},{"sha":"e84bc508dc73b385dd10cdad5ddbb48da680bcc5","author":{"email":"5971e5274f1f0ba5329cf4a93393d8fbe5224c44@redhat.com","name":"Loic Dachary"},"message":"Merge pull request #3906 from dachary/wip-mailmap\n\nmailmap: David Zhang affiliation\r\n\r\nReviewed-by: Zhi (David) Zhang <zhangz@yahoo-inc.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/e84bc508dc73b385dd10cdad5ddbb48da680bcc5"},{"sha":"aaabd572056f99063b47f8d483fb4b1655e649db","author":{"email":"e3579b1e47f273529f0f929453e939a68ede9fd1@gravitystorm.co.uk","name":"Andy Allan"},"message":"doc: fix typo\n\nSigned-off-by: Andy Allan <github@gravitystorm.co.uk>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/aaabd572056f99063b47f8d483fb4b1655e649db"},{"sha":"cc0db22fff684dedcaad22291f4aa25d73f59a3b","author":{"email":"5971e5274f1f0ba5329cf4a93393d8fbe5224c44@redhat.com","name":"Loic Dachary"},"message":"Merge pull request #3908 from gravitystorm/patch-2\n\nfix typo\r\n\r\nReviewed-by: Loic Dachary <ldachary@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/cc0db22fff684dedcaad22291f4aa25d73f59a3b"},{"sha":"ea7fbdbdf82e26b9222e432e6957d9638a4ee30f","author":{"email":"79e2475f81a6317276bf7cbb3958b20d289b78df@gregs42.com","name":"Gregory Farnum"},"message":"Merge pull request #3668 from ceph/wip-compact-container\n\nOptimize memory usage of MDS\r\n\r\nReviewed-by: John Spray <john.spray@redhat.com>\r\nReviewed-by: Greg Farnum <gfarnum@redhat.com>","distinct":true,"url":"https://api.github.com/repos/majianpeng/ceph/commits/ea7fbdbdf82e26b9222e432e6957d9638a4ee30f"}]}