Changeset 4b995b92 in mainline for uspace/lib/libfs/libfs.c


Ignore:
Timestamp:
2010-01-24T13:02:17Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
203a090
Parents:
c1a8e5e6
Message:

Introduce the L_NOCROSS_LAST_MP lookup flag and treat the last mount point node
according to it in libfs_lookup().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/libfs/libfs.c

    rc1a8e5e6 r4b995b92  
    304304                on_error(rc, goto out_with_answer);
    305305               
    306                 if ((tmp) && (tmp->mp_data.mp_active)) {
     306                /*
     307                 * If the matching component is a mount point, there are two
     308                 * legitimate semantics of the lookup operation. The first is
     309                 * the commonly used one in which the lookup crosses each mount
     310                 * point into the mounted file system. The second semantics is
     311                 * used mostly during unmount() and differs from the first one
     312                 * only in that the last mount point in the looked up path,
     313                 * which is also its last component, is not crossed.
     314                 */
     315
     316                if ((tmp) && (tmp->mp_data.mp_active) &&
     317                    (!(lflag & L_NOCROSS_LAST_MP) || (next <= last))) {
    307318                        if (next > last)
    308319                                next = last = first;
Note: See TracChangeset for help on using the changeset viewer.