{"id":728,"date":"2017-01-07T03:51:46","date_gmt":"2017-01-07T03:51:46","guid":{"rendered":"http:\/\/www.selinuxplus.com\/?p=728"},"modified":"2017-01-07T04:03:39","modified_gmt":"2017-01-07T04:03:39","slug":"ceph-mds-%e5%ad%98%e5%82%a8%e5%a4%a7%e6%96%87%e4%bb%b6%e7%9a%84max_file_size%e7%9a%84%e9%97%ae%e9%a2%98%e5%ae%9a%e4%bd%8d","status":"publish","type":"post","link":"http:\/\/www.selinuxplus.com\/?p=728","title":{"rendered":"ceph mds \u5b58\u50a8\u5927\u6587\u4ef6\u7684max_file_size\u7684\u95ee\u9898\u5b9a\u4f4d"},"content":{"rendered":"<p>\u95ee\u9898\uff1a<strong> export\u5bfc\u51fa\u5927\u4e8e1T\u7684\u5927\u6587\u4ef6\u5230cephfs\u76ee\u5f55\u65f6\u62a5\u9519<\/strong><br \/>\n1 \u6302\u8f7dcephfs\u7684\u6587\u4ef6\u7cfb\u7edf\u5230\u672c\u5730<\/p>\n<pre class=\"lang:default decode:true \" > mount -t ceph 192.168.x.xx:6789:\/ \/mnt\/mycephfs<\/pre>\n<p>2 \u5199\u5165\u6570\u636e<\/p>\n<pre class=\"lang:default decode:true \" > dd if=\/dev\/zero of=test.img bs=1M seek=1048K count=512<\/pre>\n<p>3 \u4f7f\u7528stap\u8fdb\u884c\u8ddf\u8e2a<\/p>\n<pre class=\"lang:default decode:true \" >probe syscall.*.call\r\n{\r\n        if (execname() == \"dd\") {\r\n                printf(\"%s = %d\\n\", ppfunc(), $return);\r\n        }\r\n}\r\n<\/pre>\n<p>4 stap\u7684\u8f93\u51fa<\/p>\n<pre class=\"lang:default decode:true \" >SyS_execve = 0\r\n...\r\nSyS_open = 3\r\nSyS_dup2 = 1\r\nSyS_close = 0\r\n<strong>SyS_ftruncate = -27<\/strong>\r\nSyS_newfstat = 0\r\nSyS_open = 3\r\nSyS_newfstat = 0\r\nSyS_mmap_pgoff = 140023037267968\r\nSyS_read = 2502\r\nSyS_read = 0\r\n....\r\n<\/pre>\n<p>5 \u5206\u6790<br \/>\nSyS_ftruncate  \u4e3abig file error<\/p>\n<pre class=\"lang:default decode:true \" >int inode_newsize_ok(const struct inode *inode, loff_t offset)\r\n{\r\n\t\tif (offset &gt; inode-&gt;i_sb-&gt;s_maxbytes)\r\n\t\t\tgoto out_big;\r\nout_big:\r\n\treturn -EFBIG;\r\n}<\/pre>\n<p>s_maxbytes\u7684\u5927\u5c0f\u8d4b\u503c\uff1a1T<\/p>\n<pre class=\"lang:default decode:true \" >static int ceph_set_super(struct super_block *s, void *data)\r\n{\r\n\ts-&gt;s_maxbytes = 1ULL &lt;&lt; 40;  \/* temp value until we get mdsmap *\/\r\n}<\/pre>\n<p>s_maxbytes \u5927\u5c0f\u7684\u66f4\u65b0<\/p>\n<pre class=\"lang:default decode:true \" >void ceph_mdsc_handle_map(struct ceph_mds_client *mdsc, struct ceph_msg *msg)\r\n{\r\n\tmdsc-&gt;fsc-&gt;sb-&gt;s_maxbytes = mdsc-&gt;mdsmap-&gt;m_max_file_size;\r\n}<\/pre>\n<p>max_file_size \u7684\u5927\u5c0f\u8bbe\u7f6e\u6765\u81ea\u4e8e\u53c2\u6570\u7684\u914d\u7f6e<\/p>\n<p>6 \u4fee\u6539\u53c2\u6570<br \/>\n\u4fee\u6539conf\u6587\u4ef6\u4e2d\u7684<br \/>\n[mds]<br \/>\nmax_file_size = xxx<\/p>\n<p>7 \u67e5\u770b\u53c2\u6570\u4fee\u6539\u540e\u7684\u7ed3\u679c<\/p>\n<pre class=\"lang:default decode:true \" >[root@vm181 ~]# ceph mds dump\r\ndumped fsmap epoch 78\r\nfs_name\tcephfs\r\nepoch\t78\r\nflags\t0\r\ntableserver\t0\r\nroot\t0\r\nsession_timeout\t60\r\nsession_autoclose\t300\r\nmax_file_size\t1099511627776\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u95ee\u9898\uff1a export\u5bfc\u51fa\u5927\u4e8e1T\u7684\u5927\u6587\u4ef6\u5230ceph&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[84],"tags":[180,89],"_links":{"self":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts\/728"}],"collection":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=728"}],"version-history":[{"count":3,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts\/728\/revisions"}],"predecessor-version":[{"id":731,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=\/wp\/v2\/posts\/728\/revisions\/731"}],"wp:attachment":[{"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=728"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.selinuxplus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}