Added by marino over 10 years ago.
Updated almost 9 years ago.
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.
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.
There is definitely something funny with tmpfs here.
Okay, I figured out what was going on.
I will try to describe.
"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
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.
- Description updated (diff)
- Category set to VFS subsystem
- Status changed from New to Feedback
- Target version set to 3.9.x
Is this still relevant?
- 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