Bug #2476

tmpfs namecache(?)

Added by marino about 2 years ago. Updated 7 months ago.

Status:ClosedStart date:12/17/2012
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:VFS subsystem
Target version:3.9.x

Description

Using cpdup, I directly copied a pfs snapshot to a tmpfs mount:
mount -t tmpfs tmpfs /path/to/mypoint
cpdup -x -i0 /path/to/snapshot/ /path/to/mypoint/
mount -t devfs devfs /path/to/mypoint/dev

(/path/to/snapshot/dev exists, is a directory, and is empty)

The final mount will fail unless a sleep command of a second or two is put between the cpdup and mount commands, or if something accesses mymount point like ls command.

Seems that this is an issue with tmpfs, possibly with namecache according to Venkatesh.

History

#1 Updated by marino about 2 years ago

I think the "sleep" and "ls" part is a red herring. It fails sometimes with sleep of 1, 3, and 5 seconds.
It now appears that memory is never allocated, so the cpdup command ends immediately.

Strangely it seems to work every other time, e.g.
1st: yes
2nd: no
3rd: yes
4th: no

Run consecutively...
There is definitely something funny with tmpfs here.

#2 Updated by marino almost 2 years ago

Okay, I figured out what was going on.
I will try to describe.

Take /pfs/mypfs
"rollback" /pfs/mypfs to a known clean configuration

What was intended:
mount /pfs/mypfs to /myworkarea
mkdir -p /myworkarea/build/01/
mount tmpfs to /myworkarea/build/01

What happened:
The "known clean configuration" got contaminated and had these directories in it: "/build/01"
so the mkdir -p step was ignored and mount tmpfs presumably mounted back to /pfs/mypfs/build/01

This worked sometimes, sometimes not. about 50%.

The "fix" is to restore the known clean configuration.
However, this might still be a bug.

#3 Updated by tuxillo 7 months ago

  • Description updated (diff)
  • Category set to VFS subsystem
  • Status changed from New to Feedback
  • Target version set to 3.9.x

Hi Marino,

Is this still relevant?

Cheers,
Antonio Huete

#4 Updated by marino 7 months ago

  • Status changed from Feedback to Closed

There may be a bug in there somewhere but it was exposed by gross user error. Nobody is going to work on this AFAICT so it is reasonable to close the ticket.

Also available in: Atom PDF