Opened 16 years ago

Closed 16 years ago

#73 closed defect (fixed)

The list of siblings of a TMPFS node should be a per-link property rather than per-node property

Reported by: Jakub Jermář Owned by: Jakub Jermář
Priority: critical Milestone: 0.4.1
Component: helenos/fs/tmpfs Version: mainline
Keywords: fs tmpfs Cc: jakub@…
Blocker for: Depends on:
See also:

Description

TMPFS seems to be broken with respect to linking directories.

A command like:

mv /app /foo

will create a new link for /app directory called /foo, and fail to unlink /app because it's not empty (this should actually be made possible as the number of links is 2 now). As a result, there will be two links under / pointing to the same node. However, since the sibling list is a per-node property, it will contain a cycle.

As each link can have a different set of siblings, it looks like the sibling list should be moved out of tmpfs_dentry_t, and put probably to tmpfs_name_t.

Change History (3)

comment:1 by Jakub Jermář, 16 years ago

Summary: The list of siblings of a TMPFS should be a per-link property rather than per-node propertyThe list of siblings of a TMPFS node should be a per-link property rather than per-node property

comment:2 by Jakub Jermář, 16 years ago

Status: newaccepted

comment:3 by Jakub Jermář, 16 years ago

Resolution: fixed
Status: acceptedclosed

Fixed in revision 4370.

Note: See TracTickets for help on using tickets.