Changeset 75701004 in mainline for uspace/app/init/init.c
- Timestamp:
- 2018-06-07T16:07:26Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 931afbc
- Parents:
- 18ad56a8
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/init/init.c
r18ad56a8 r75701004 48 48 #include <config.h> 49 49 #include <io/logctl.h> 50 #include "untar.h" 50 51 #include "init.h" 51 52 … … 83 84 switch (rc) { 84 85 case EOK: 85 if ( dev != NULL)86 if ((dev != NULL) && (str_cmp(dev, "") != 0)) 86 87 printf("%s: %s mounted on %s (%s at %s)\n", NAME, desc, mntpt, 87 88 fstype, dev); … … 107 108 } 108 109 109 /** Mount root file system110 * 111 * The operation blocks until the root file system110 /** Mount root file system 111 * 112 * The operation blocks until the root file system 112 113 * server is ready for mounting. 113 114 * 114 * @param[in] fstype Root file system type.115 * @param[in] fstype Root file system type. 115 116 * 116 117 * @return True on success. … … 120 121 static bool mount_root(const char *fstype) 121 122 { 122 const char * opts= "";123 124 if (str_cmp(fstype, "tmpfs") == 0)125 opts = "restore";126 127 errno_t rc = vfs_mount_path(ROOT_MOUNT_POINT, fstype, ROOT_DEVICE, opts,123 const char *root_device = ""; 124 125 if (str_cmp(fstype, "tmpfs") != 0) 126 root_device = ROOT_DEVICE; 127 128 errno_t rc = vfs_mount_path(ROOT_MOUNT_POINT, fstype, root_device, "", 128 129 IPC_FLAG_BLOCKING, 0); 129 130 if (rc == EOK) 130 131 logctl_set_root(); 131 return mount_report("Root filesystem", ROOT_MOUNT_POINT, fstype, 132 ROOT_DEVICE, rc); 133 } 134 135 /** Mount locfs filesystem 136 * 137 * The operation blocks until the locfs filesystem 132 133 bool ret = mount_report("Root file system", ROOT_MOUNT_POINT, fstype, 134 root_device, rc); 135 136 rc = vfs_cwd_set(ROOT_MOUNT_POINT); 137 if (rc != EOK) { 138 printf("%s: Unable to set current directory to %s (%s)\n", 139 NAME, ROOT_MOUNT_POINT, str_error(ret)); 140 return false; 141 } 142 143 if ((ret) && (str_cmp(fstype, "tmpfs") == 0)) { 144 printf("%s: Extracting root file system archive\n", NAME); 145 ret = bd_untar(ROOT_DEVICE); 146 } 147 148 return ret; 149 } 150 151 /** Mount locfs file system 152 * 153 * The operation blocks until the locfs file system 138 154 * server is ready for mounting. 139 155 * … … 146 162 errno_t rc = vfs_mount_path(LOCFS_MOUNT_POINT, LOCFS_FS_TYPE, "", "", 147 163 IPC_FLAG_BLOCKING, 0); 148 return mount_report("Location service file system", LOCFS_MOUNT_POINT,164 return mount_report("Location service file system", LOCFS_MOUNT_POINT, 149 165 LOCFS_FS_TYPE, NULL, rc); 150 166 } … … 301 317 { 302 318 errno_t rc = vfs_mount_path(TMPFS_MOUNT_POINT, TMPFS_FS_TYPE, "", "", 0, 0); 303 return mount_report("Temporary file system", TMPFS_MOUNT_POINT,319 return mount_report("Temporary file system", TMPFS_MOUNT_POINT, 304 320 TMPFS_FS_TYPE, NULL, rc); 305 321 }
Note:
See TracChangeset
for help on using the changeset viewer.