Yes, after testing I found that "sync" will still do the cache in memory. But what I want to know is the real speed to write data into the disks. I know it may not be safe without using memory and the speed may go very slow. However, that's what I am trying to find out. Thanks~~^^ 2011/4/14 Brian Chrisman <brchrisman@xxxxxxxxx>: > I don't think 'sync' will prevent data from going into cache, it just > means that a copy has to be on stable storage/disk as well. ÂWhether > there's a copy in memory wont matter. > > On Thu, Apr 14, 2011 at 1:52 AM, Sylar Shen <kimulaaa@xxxxxxxxx> wrote: >> Hi Sage, >> Thanks for your reply. I really appreciated. >> I tried what you suggested to set the argument "sync" in /etc/exports. >> I also checked "man 5 exports" and it showed that sync means reply to >> requests only after the changes have been committed to stable storage. >> It didn't mention that the export server won't do the cache task. >> However, after I did the experiment, I found that the memory usage of >> Ceph-client still went up to maximum value while writing the data >> which means Ceph-client did the cache task. >> So...are there other possible ways to solve my problem? >> Thanks~~ >> >> Best Regards, >> Sylar Shen >> >> 2011/4/12 Sage Weil <sage@xxxxxxxxxxxx>: >>> On Tue, 12 Apr 2011, Sylar Shen wrote: >>>> Hi developers, >>>> I know that the following question may not be relative to Ceph but >>>> this confuses me a lot. >>>> I am testing the function of re-exporting nfs by command "dd" without >>>> using buffer. >>>> That means I would like my data to be written to Ceph DFS directly >>>> without passing by the buffer of client or nfs-client. >>>> Here is my test architecture. Hope you could understand what I am >>>> trying to express.....:p >>>> ------------------------------------------------------------------------------ >>>>        ÂÂnfs             ceph protocol >>>> Client <------------>Ceph-Client <-------------------> Ceph DFS >>>> ------------------------------------------------------------------------------ >>>> I used the command "dd if=/dev/zero of=/mnt/ceph/test bs=64k >>>> count=10000 oflag=dsync" >>>> My purpose was to write the data from the client to Ceph DFS through >>>> Ceph-client. >>>> Ceph DFS was mounted by Ceph-client using Ceph protocol and >>>> Ceph-client was mounted by client using nfs protocol. >>>> I know that my dd command with argument oflag=dsync would write the >>>> data to Ceph-client without using buffer on the client. >>>> But I want my Ceph-client could also just pass the data to Ceph DFS >>>> without using its buffer. >>>> So.....is there any way I can run my scenario? >>>> Or in other words, is there any method I can assure that Ceph-client >>>> won't do the buffer task itself? >>> >>> I think what you're looking for is the 'sync' option in /etc/exports on >>> the ceph-client machine. ÂSee 'man 5 exports'. ÂThat will slow things down >>> considerably but will give you the consistency and safety you're looking >>> for. >>> >>> sage >>> >> >> >> >> -- >> Best Regards, >> Sylar Shen >> -- >> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html >> > -- Best Regards, Sylar Shen -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html