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 > -- 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