title: FUSE open system call mechanism
body: <p>When calling to the <code>open</code> system call from a program, to create an empty file (with <code>O_WRONLY | O_CREAT | O_TRUNC</code>) in a FUSE managed directory, the following functions from my FUSE file system implementation are executed:</p>
  
  <ol>
  <li><code>getattr</code> (returns error because file doesn't exist)</li>
  <li><code>create</code></li>
  <li><code>fgetattr</code></li>
  </ol>
  
  <p>My question is:</p>
  
  <p><em>Are these function calls common to all file systems in Linux (including native ones like ext4), or a FUSE internal behaviour?</em></p>
  
  <p>When <code>strace</code>-ing the program, I can only see an <code>open</code> system call.</p>