<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body text="#000000" bgcolor="#ffffff">
    On 03/14/2012 07:29 AM, Bill Bao wrote:
    <blockquote cite="mid:00d901cd0186$256d2dd0$70478970$@com.cn"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="Generator" content="Microsoft Word 12 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        font-size:10.5pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
MsoChpDefault
        {mso-style-type:export-only;}
/* Page Definitions */
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">This might be a question
            asked before, but I just couldn&#8217;t effectively search the
            whole archives,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">So please bear me and
            kindly advise.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">We have a 3<sup>rd</sup>
            party application (video streaming kind of) which uses
            directIO (O_DIRECT).<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">On the server side, in
            the posix translator, we added the &#8220;</span><span
            style="font-size: 12pt; font-family: SimSun; color: black;"
            lang="EN-US">option o-direct enable&#8221;</span><span
            lang="EN-US"> <o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">On the client side, we
            mounted as &#8220;mount -t glusterfs -o direct-io-mode=enable
            server1:/test-volume /mnt/glusterfs&#8221;<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">But the application
            still fails with error (cannot create/open file with
            O_DIRECT).<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Then we trace to the
            fuse module in the kernel, which has following checking:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal" style="text-align: left;" align="left"><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(49,
            67, 68);" lang="EN-US">int&nbsp;fuse_open_common(struct&nbsp;inode&nbsp;*inode,&nbsp;struct&nbsp;file&nbsp;*file,&nbsp;bool&nbsp;isdir)</span><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: navy;"
            lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-align: left;" align="left"><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(49,
            67, 68);" lang="EN-US">{</span><span style="font-size: 10pt;
            font-family: &quot;Verdana&quot;,&quot;sans-serif&quot;;
            color: navy;" lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-align: left;" align="left"><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(49,
            67, 68);" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;fuse_conn&nbsp;*fc&nbsp;=&nbsp;get_fuse_conn(inode);</span><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: navy;"
            lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-align: left;" align="left"><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(49,
            67, 68);" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;err;</span><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: navy;"
            lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-align: left;" align="left"><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(49,
            67, 68);" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;VFS&nbsp;checks&nbsp;this,&nbsp;but&nbsp;only&nbsp;_after_&nbsp;-&gt;open()&nbsp;*/</span><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: navy;"
            lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-align: left;" align="left"><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: red;"
            lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><span style="font-family:
                &quot;Verdana&quot;,&quot;sans-serif&quot;;">&nbsp;&nbsp;if&nbsp;(file-&gt;f_flags&nbsp;&amp;&nbsp;O_DIRECT)</span></strong></span><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: navy;"
            lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-align: left;" align="left"><strong><span
              style="font-size: 10pt; font-family:
              &quot;Verdana&quot;,&quot;sans-serif&quot;; color: red;"
              lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-EINVAL;</span></strong><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: navy;"
            lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal" style="text-align: left;" align="left"><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: rgb(49,
            67, 68);" lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err&nbsp;=&nbsp;generic_file_open(inode,&nbsp;file);</span><span
            style="font-size: 10pt; font-family:
            &quot;Verdana&quot;,&quot;sans-serif&quot;; color: navy;"
            lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">looks like regardless
            what we configure on the gluster side, the FUSE still
            rejects the O_DIRECT.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Could someone shed light
            ? we&#8217;re also trying to take out the O_DIRECT checking in
            FUSE module,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">to see what will happen,
            will report soon.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Bill Bao<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
      </div>
    </blockquote>
    O_DIRECT support for fuse was added recently. Check the fsdevel
    archives.<br>
    <blockquote cite="mid:00d901cd0186$256d2dd0$70478970$@com.cn"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
      </div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Gluster-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a>
<a class="moz-txt-link-freetext" href="http://gluster.org/cgi-bin/mailman/listinfo/gluster-users">http://gluster.org/cgi-bin/mailman/listinfo/gluster-users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>