Re: VFS: mount_bdev and fill_super

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

 





On 16-Jun-2017 11:21 AM, "Shrikant Giridhar" <shrikantgiridhar@xxxxxxxxx> wrote:
I'm a little confused about how the mount_bdev() call works.

The VFS documentation lists it as a generic method to mount a block device.
Based on what I understood from the source, it seems to open a block device
whose path is passed via the mount() syscall and later associates it with
the superblock, finally returning the corresponding dentry to the caller.

The documentation also mentions that mount() can return a subtree of an
existing filesystem on the block device. However, in the very next line it
mentions that the caller also receives a pointer to the dentry of the root
node. I can see from the source (fs/super.c:1099) that the mount_bdev call
does check if the superblock's s_root == NULL or not and proceeds to set a
new superblock if it is.

I know my question sounds a little vague but I'm having trouble understanding
how mount() can return a dentry for something other than the root?

---
Shrikant

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

Hi Shrikant,

I just had a quick look at mount_bdev() code for Linux v3.15, mount_bdev() can return only root dentry or error.

Also please include the kernel version to which you are referring.

- Rohan
_______________________________________________
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