Subversion Repositories HelenOS

Rev

Rev 4668 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4668 Rev 4688
Line 304... Line 304...
304
        free(mp);
304
        free(mp);
305
        return;
305
        return;
306
    }
306
    }
307
 
307
 
308
    /* Check the offered options size. */
308
    /* Check the offered options size. */
309
    if (size < 0 || size > MAX_MNTOPTS_LEN) {
309
    if (size > MAX_MNTOPTS_LEN) {
310
        ipc_answer_0(callid, EINVAL);
310
        ipc_answer_0(callid, EINVAL);
311
        ipc_answer_0(rid, EINVAL);
311
        ipc_answer_0(rid, EINVAL);
312
        free(mp);
312
        free(mp);
313
        return;
313
        return;
314
    }
314
    }
Line 445... Line 445...
445
     */
445
     */
446
    int lflag = IPC_GET_ARG1(*request);
446
    int lflag = IPC_GET_ARG1(*request);
447
    int oflag = IPC_GET_ARG2(*request);
447
    int oflag = IPC_GET_ARG2(*request);
448
    int mode = IPC_GET_ARG3(*request);
448
    int mode = IPC_GET_ARG3(*request);
449
    size_t len;
449
    size_t len;
-
 
450
 
-
 
451
    /* Ignore mode for now. */
-
 
452
    (void) mode;
450
   
453
   
451
    /*
454
    /*
452
     * Make sure that we are called with exactly one of L_FILE and
455
     * Make sure that we are called with exactly one of L_FILE and
453
     * L_DIRECTORY. Make sure that the user does not pass L_OPEN.
456
     * L_DIRECTORY. Make sure that the user does not pass L_OPEN.
454
     */
457
     */
Line 1050... Line 1053...
1050
        ipc_answer_0(rid, rc);
1053
        ipc_answer_0(rid, rc);
1051
        free(path);
1054
        free(path);
1052
        return;
1055
        return;
1053
    }
1056
    }
1054
    path[len] = '\0';
1057
    path[len] = '\0';
-
 
1058
 
-
 
1059
    /* Ignore mode for now. */
-
 
1060
    (void) mode;
1055
   
1061
   
1056
    fibril_rwlock_write_lock(&namespace_rwlock);
1062
    fibril_rwlock_write_lock(&namespace_rwlock);
1057
    int lflag = L_DIRECTORY | L_CREATE | L_EXCLUSIVE;
1063
    int lflag = L_DIRECTORY | L_CREATE | L_EXCLUSIVE;
1058
    rc = vfs_lookup_internal(path, lflag, NULL, NULL);
1064
    rc = vfs_lookup_internal(path, lflag, NULL, NULL);
1059
    fibril_rwlock_write_unlock(&namespace_rwlock);
1065
    fibril_rwlock_write_unlock(&namespace_rwlock);