Home | History | Annotate | Download | only in fs_mgr

Lines Matching refs:fstab

211 struct fstab *fs_mgr_read_fstab(const char *fstab_path)
220 struct fstab *fstab = NULL;
249 ERROR("No entries found in fstab\n");
253 /* Allocate and init the fstab structure */
254 fstab = calloc(1, sizeof(struct fstab));
255 fstab->num_entries = entries;
256 fstab->fstab_filename = strdup(fstab_path);
257 fstab->recs = calloc(fstab->num_entries, sizeof(struct fstab_rec));
290 fstab->recs[cnt].blk_device = strdup(p);
296 fstab->recs[cnt].mount_point = strdup(p);
302 fstab->recs[cnt].fs_type = strdup(p);
309 fstab->recs[cnt].flags = parse_flags(p, mount_flags, NULL,
314 fstab->recs[cnt].fs_options = strdup(tmp_fs_options);
316 fstab->recs[cnt].fs_options = NULL;
323 fstab->recs[cnt].fs_mgr_flags = parse_flags(p, fs_mgr_flags,
325 fstab->recs[cnt].key_loc = flag_vals.key_loc;
326 fstab->recs[cnt].verity_loc = flag_vals.verity_loc;
327 fstab->recs[cnt].length = flag_vals.part_length;
328 fstab->recs[cnt].label = flag_vals.label;
329 fstab->recs[cnt].partnum = flag_vals.partnum;
330 fstab->recs[cnt].swap_prio = flag_vals.swap_prio;
331 fstab->recs[cnt].zram_size = flag_vals.zram_size;
336 return fstab;
341 if (fstab)
342 fs_mgr_free_fstab(fstab);
346 void fs_mgr_free_fstab(struct fstab *fstab)
350 if (!fstab) {
354 for (i = 0; i < fstab->num_entries; i++) {
356 free(fstab->recs[i].blk_device);
357 free(fstab->recs[i].mount_point);
358 free(fstab->recs[i].fs_type);
359 free(fstab->recs[i].fs_options);
360 free(fstab->recs[i].key_loc);
361 free(fstab->recs[i].label);
365 free(fstab->recs);
367 /* Free the fstab filename */
368 free(fstab->fstab_filename);
370 /* Free fstab */
371 free(fstab);
374 /* Add an entry to the fstab, and return 0 on success or -1 on error */
375 int fs_mgr_add_entry(struct fstab *fstab,
380 int n = fstab->num_entries;
383 realloc(fstab->recs, sizeof(struct fstab_rec) * (n + 1));
396 /* Update the fstab struct */
397 fstab->recs = new_fstab_recs;
398 fstab->num_entries++;
407 struct fstab_rec *fs_mgr_get_entry_for_mount_point_after(struct fstab_rec *start_rec, struct fstab *fstab, const char *path)
410 if (!fstab) {
415 for (i = 0; i < fstab->num_entries; i++) {
416 if (&fstab->recs[i] == start_rec) {
424 for (; i < fstab->num_entries; i++) {
425 int len = strlen(fstab->recs[i].mount_point);
426 if (strncmp(path, fstab->recs[i].mount_point, len) == 0 &&
428 return &fstab->recs[i];
439 struct fstab_rec *fs_mgr_get_entry_for_mount_point(struct fstab *fstab, const char *path)
441 return fs_mgr_get_entry_for_mount_point_after(NULL, fstab, path);
444 int fs_mgr_is_voldmanaged(const struct fstab_rec *fstab)
446 return fstab->fs_mgr_flags & MF_VOLDMANAGED;
449 int fs_mgr_is_nonremovable(const struct fstab_rec *fstab)
451 return fstab->fs_mgr_flags & MF_NONREMOVABLE;
454 int fs_mgr_is_verified(const struct fstab_rec *fstab)
456 return fstab->fs_mgr_flags & MF_VERIFY;
459 int fs_mgr_is_encryptable(const struct fstab_rec *fstab)
461 return fstab->fs_mgr_flags & (MF_CRYPT | MF_FORCECRYPT);
464 int fs_mgr_is_file_encrypted(const struct fstab_rec *fstab)
466 return fstab->fs_mgr_flags & MF_FILEENCRYPTION;
469 int fs_mgr_is_noemulatedsd(const struct fstab_rec *fstab)
471 return fstab->fs_mgr_flags & MF_NOEMULATEDSD;
474 int fs_mgr_is_notrim(struct fstab_rec *fstab)
476 return fstab->fs_mgr_flags & MF_NOTRIM;
479 int fs_mgr_is_formattable(struct fstab_rec *fstab)
481 return fstab->fs_mgr_flags & (MF_FORMATTABLE);