Re: Mapping of Filename to allocated blocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you Valids. That worked!

For others who may look for this info:
If you have access to the struct file *
then you could obtain this info with the following
condition check:

============================================
struct file *filp = <blah blah>;
if (filp->f_path.mnt->mnt_flags & MNT_NODEV)
        pr_info("ramfs node\n");
else
        pr_info("persist storage backed node\n");
============================================


On Wed, Jul 20, 2016 at 7:49 PM, <Valdis.Kletnieks@xxxxxx> wrote:
On Wed, 20 Jul 2016 18:46:47 -0700, Manoj Rao said:

> However, I need to run this for each and every read system call which
> includes all the procfs, sysfs and other RAM fs based file reads. My
> code is causing the kernel to panic at some point due to an illegal
> memory access while trying to obtain the starting sector/block for the
> file that's currently being read. My hunch is the crash occurs when
> file being read is on a non-persistent fs such as a sysfs node
> I have gotten hold of the inode structure and I'm trying to find if
> a given inode is stored persistently or not and I've been unable to
> find this information so far.

Hint:  First, check if the filesystem is a pseudo filesystem before bothering
to look for baking store.  If you need to know how to do that, steal the
code from the code that prints /proc/filesystems - if it says 'nodev', you'll
only find pain looking for backing storage.

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux