Changeset 4b995b92 in mainline
- Timestamp:
- 2010-01-24T13:02:17Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 203a090
- Parents:
- c1a8e5e6
- Location:
- uspace
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/include/ipc/vfs.h
rc1a8e5e6 r4b995b92 148 148 #define L_OPEN 64 149 149 150 /** 151 * L_NOCROSS_LAST_MP is used exclusively during the VFS_IN_UNMOUNT operation. It 152 * tells the lookup routine not to cross the last mount point in the lookup 153 * path. 154 */ 155 #define L_NOCROSS_LAST_MP 128 156 150 157 #endif 151 158 -
uspace/lib/libfs/libfs.c
rc1a8e5e6 r4b995b92 304 304 on_error(rc, goto out_with_answer); 305 305 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))) { 307 318 if (next > last) 308 319 next = last = first; -
uspace/srv/vfs/vfs_ops.c
rc1a8e5e6 r4b995b92 459 459 /* 460 460 * Make sure that we are called with exactly one of L_FILE and 461 * L_DIRECTORY. Make sure that the user does not pass L_OPEN. 461 * L_DIRECTORY. Make sure that the user does not pass L_OPEN or 462 * L_NOCROSS_LAST_MP. 462 463 */ 463 464 if (((lflag & (L_FILE | L_DIRECTORY)) == 0) || 464 465 ((lflag & (L_FILE | L_DIRECTORY)) == (L_FILE | L_DIRECTORY)) || 465 ( (lflag & L_OPEN) != 0)) {466 (lflag & L_OPEN) || (lflag & L_NOCROSS_LAST_MP)) { 466 467 ipc_answer_0(rid, EINVAL); 467 468 return;
Note:
See TracChangeset
for help on using the changeset viewer.