Messages in this thread | | | From | Badhri Jagan Sridharan <> | Date | Thu, 19 May 2016 19:20:26 -0700 | Subject | path-lookup inconsistency ? |
| |
Hi,
I mounted overlayfs at /
My cat /proc/mounts looks like the following. # cat /proc/mounts /dev/root / squashfs ro,seclabel,relatime 0 0 .. overlayfs / overlay rw,relatime,lowerdir=/,upperdir=/cache/upper,workdir=/cache/working 0 0
The original blockdevice at fs root is squashfs formatted so doesnt support write operations. I mounted overlayfs on fs root to cache the writes made.
While in /, the filesystem does not allow me to create files/directories, if I dont prefix it with ".." directive.
hikey:/ # mkdir test mkdir: 'testt12': Read-only file system hikey:/ # mkdir ../test
"mkdir ../test" command succeeds.
I traced through the fs/namei.c code to notice that __follow_mount_rcu does not get called when I execute "mkdir test" whereas, it gets called from the follow_dotdot_rcu when I execute "mkdir ../test"
What is the expected behavior ? Should "mkdir test" and "mkdir ../test" both succeed ?
Similar inconsistency is found with "ls" and "ls .." as well while in fs root.
Thanks, Badhri
| |