title: Why do VFS functions get both structs inode and file?
body: <p>It appears that <code>struct file</code> contains a <code>struct inode *</code>, yet both are passed to the VFS functions. Why not simply pass <code>struct file *</code> alone? </p>
  
  <p>For e.g.  <code>int (*open) (struct inode *, struct file *);</code></p>