<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi Rishi,<br>
    <br>
    With pleasure! <br>
    You can check it on
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <a href="https://github.com/freemandealer/droidcry">https://github.com/freemandealer/droidcry</a>
    <br>
    on your convenience.<br>
    <br>
    <div class="moz-cite-prefix"> 2014-02-19 23:17, Rishi Agrawal :<br>
    </div>
    <blockquote
cite="mid:CADDndfPhe=iHKtB0_eTYpoAAUJDTkOchUakbOyKveVdkAOLrMQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">Good that you solved it your self, still if you can
        send me the idea on which you are working - I may also learn
        something.<br>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">On Tue, Feb 18, 2014 at 10:04 AM,
          freeman <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:freeman.zhang1992@gmail.com" target="_blank">freeman.zhang1992@gmail.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
            &gt; Hi<br>
            <div class="">&gt;<br>
              &gt; The operations will not change back until your object
              gets destroyed,<br>
              &gt; whatever be the type of the object.<br>
              &gt;<br>
              &gt; Caching will not cause any issue here.<br>
              &gt;<br>
              &gt; Maybe if you can send the code we can have a look at
              it.<br>
              &gt;<br>
              &gt;<br>
              &gt; --<br>
              &gt; Regards,<br>
              &gt; Rishi Agrawal<br>
            </div>
            Hi Rishi,<br>
            <br>
            It's very nice of you willing to help check my code!<br>
            I'm now very excited - problem solved!<br>
            <br>
            I spent half a day beautifying my code yesterday (so that it
            won't annoy<br>
            you<br>
            that much), and find there is a problem:<br>
            <br>
            Every time there is a read/write system call, I saved the
            lower file ops<br>
            and<br>
            address space ops. In their replacement(upper operations), I
            invoked<br>
            lower ones.<br>
            There's a possibility that it might saved the upper
            operations as lower<br>
            ones if I<br>
            open them twice in a short time. At this point, upper
            operation invoke<br>
            itself!<br>
            So I check the operations before truly save and replace them
            and, it works!<br>
            <br>
            Thanks to you and all the amazing people in this amazing
            list that<br>
            helped me,<br>
            now I get both wrapfs and my own non-filesystem module
            functional for my<br>
            future work on transparent encryption, and most importantly,
            I've<br>
            learned and<br>
            enjoyed a lot!<br>
            <br>
            Regards<br>
            Freeman Zhang<br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <br>
        -- <br>
        Regards,<br>
        Rishi Agrawal<br>
      </div>
    </blockquote>
    Regards<br>
    Freeman Zhang<br>
    <br>
  </body>
</html>