<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">Thank you Valids. That worked!<br><br></div><div class="gmail_default" style="font-family:monospace,monospace">For others who may look for this info:<br></div><div class="gmail_default" style="font-family:monospace,monospace">If you have access to the struct file *<br></div><div class="gmail_default" style="font-family:monospace,monospace">then you could obtain this info with the following<br>condition check:<br><br>============================================<br></div><div class="gmail_default" style="font-family:monospace,monospace">struct file *filp = &lt;blah blah&gt;;<br></div><div class="gmail_default" style="font-family:monospace,monospace">if (filp-&gt;f_path.mnt-&gt;mnt_flags &amp; MNT_NODEV)<br></div><div class="gmail_default" style="font-family:monospace,monospace">        pr_info(&quot;ramfs node\n&quot;);<br></div><div class="gmail_default" style="font-family:monospace,monospace">else<br></div><div class="gmail_default" style="font-family:monospace,monospace">        pr_info(&quot;persist storage backed node\n&quot;);<br>============================================<br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 20, 2016 at 7:49 PM,  <span dir="ltr">&lt;<a href="mailto:Valdis.Kletnieks@vt.edu" target="_blank">Valdis.Kletnieks@vt.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Wed, 20 Jul 2016 18:46:47 -0700, Manoj Rao said:<br>
<br>
&gt; However, I need to run this for each and every read system call which<br>
&gt; includes all the procfs, sysfs and other RAM fs based file reads. My<br>
&gt; code is causing the kernel to panic at some point due to an illegal<br>
&gt; memory access while trying to obtain the starting sector/block for the<br>
&gt; file that&#39;s currently being read. My hunch is the crash occurs when<br>
&gt; file being read is on a non-persistent fs such as a sysfs node<br>
&gt; I have gotten hold of the inode structure and I&#39;m trying to find if<br>
&gt; a given inode is stored persistently or not and I&#39;ve been unable to<br>
&gt; find this information so far.<br>
<br>
</span>Hint:  First, check if the filesystem is a pseudo filesystem before bothering<br>
to look for baking store.  If you need to know how to do that, steal the<br>
code from the code that prints /proc/filesystems - if it says &#39;nodev&#39;, you&#39;ll<br>
only find pain looking for backing storage.<br>
</blockquote></div><br></div>