Rev 4159 | Rev 4279 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4159 | Rev 4264 | ||
|---|---|---|---|
| Line 89... | Line 89... | ||
| 89 | int phone; |
89 | int phone; |
| 90 | futex_down(&rootfs_futex); |
90 | futex_down(&rootfs_futex); |
| 91 | if (rootfs.fs_handle) { |
91 | if (rootfs.fs_handle) { |
| 92 | /* We already have the root FS. */ |
92 | /* We already have the root FS. */ |
| 93 | rwlock_write_lock(&namespace_rwlock); |
93 | rwlock_write_lock(&namespace_rwlock); |
| 94 | if ((strlen(mp) == 1) && (mp[0] == '/')) { |
94 | if (str_cmp(mp, "/") == 0) { |
| 95 | /* Trying to mount root FS over root FS */ |
95 | /* Trying to mount root FS over root FS */ |
| 96 | rwlock_write_unlock(&namespace_rwlock); |
96 | rwlock_write_unlock(&namespace_rwlock); |
| 97 | futex_up(&rootfs_futex); |
97 | futex_up(&rootfs_futex); |
| 98 | ipc_answer_0(rid, EBUSY); |
98 | ipc_answer_0(rid, EBUSY); |
| 99 | return; |
99 | return; |
| Line 122... | Line 122... | ||
| 122 | * This prevents the mount point from being deleted. |
122 | * This prevents the mount point from being deleted. |
| 123 | */ |
123 | */ |
| 124 | rwlock_write_unlock(&namespace_rwlock); |
124 | rwlock_write_unlock(&namespace_rwlock); |
| 125 | } else { |
125 | } else { |
| 126 | /* We still don't have the root file system mounted. */ |
126 | /* We still don't have the root file system mounted. */ |
| 127 | if ((strlen(mp) == 1) && (mp[0] == '/')) { |
127 | if (str_cmp(mp, "/") == 0) { |
| 128 | vfs_lookup_res_t mr_res; |
128 | vfs_lookup_res_t mr_res; |
| 129 | vfs_node_t *mr_node; |
129 | vfs_node_t *mr_node; |
| 130 | ipcarg_t rindex; |
130 | ipcarg_t rindex; |
| 131 | ipcarg_t rsize; |
131 | ipcarg_t rsize; |
| 132 | ipcarg_t rlnkcnt; |
132 | ipcarg_t rlnkcnt; |