Merge "Add nofail fstab option"

This commit is contained in:
Daniel Rosenberg 2016-04-14 00:12:44 +00:00 committed by Gerrit Code Review
commit e99283103b
4 changed files with 20 additions and 5 deletions

View file

@ -635,11 +635,18 @@ int fs_mgr_mount_all(struct fstab *fstab)
} }
encryptable = FS_MGR_MNTALL_DEV_MIGHT_BE_ENCRYPTED; encryptable = FS_MGR_MNTALL_DEV_MIGHT_BE_ENCRYPTED;
} else { } else {
ERROR("Failed to mount an un-encryptable or wiped partition on" if (fs_mgr_is_nofail(&fstab->recs[attempted_idx])) {
"%s at %s options: %s error: %s\n", ERROR("Ignoring failure to mount an un-encryptable or wiped partition on"
fstab->recs[attempted_idx].blk_device, fstab->recs[attempted_idx].mount_point, "%s at %s options: %s error: %s\n",
fstab->recs[attempted_idx].fs_options, strerror(mount_errno)); fstab->recs[attempted_idx].blk_device, fstab->recs[attempted_idx].mount_point,
++error_count; fstab->recs[attempted_idx].fs_options, strerror(mount_errno));
} else {
ERROR("Failed to mount an un-encryptable or wiped partition on"
"%s at %s options: %s error: %s\n",
fstab->recs[attempted_idx].blk_device, fstab->recs[attempted_idx].mount_point,
fstab->recs[attempted_idx].fs_options, strerror(mount_errno));
++error_count;
}
continue; continue;
} }
} }

View file

@ -75,6 +75,7 @@ static struct flag_list fs_mgr_flags[] = {
{ "notrim", MF_NOTRIM }, { "notrim", MF_NOTRIM },
{ "formattable", MF_FORMATTABLE }, { "formattable", MF_FORMATTABLE },
{ "slotselect", MF_SLOTSELECT }, { "slotselect", MF_SLOTSELECT },
{ "nofail", MF_NOFAIL },
{ "defaults", 0 }, { "defaults", 0 },
{ 0, 0 }, { 0, 0 },
}; };
@ -491,3 +492,8 @@ int fs_mgr_is_slotselect(struct fstab_rec *fstab)
{ {
return fstab->fs_mgr_flags & MF_SLOTSELECT; return fstab->fs_mgr_flags & MF_SLOTSELECT;
} }
int fs_mgr_is_nofail(struct fstab_rec *fstab)
{
return fstab->fs_mgr_flags & MF_NOFAIL;
}

View file

@ -82,6 +82,7 @@ __BEGIN_DECLS
#define MF_FILEENCRYPTION 0x2000 #define MF_FILEENCRYPTION 0x2000
#define MF_FORMATTABLE 0x4000 #define MF_FORMATTABLE 0x4000
#define MF_SLOTSELECT 0x8000 #define MF_SLOTSELECT 0x8000
#define MF_NOFAIL 0x40000
#define DM_BUF_SIZE 4096 #define DM_BUF_SIZE 4096

View file

@ -105,6 +105,7 @@ int fs_mgr_is_file_encrypted(const struct fstab_rec *fstab);
int fs_mgr_is_noemulatedsd(const struct fstab_rec *fstab); int fs_mgr_is_noemulatedsd(const struct fstab_rec *fstab);
int fs_mgr_is_notrim(struct fstab_rec *fstab); int fs_mgr_is_notrim(struct fstab_rec *fstab);
int fs_mgr_is_formattable(struct fstab_rec *fstab); int fs_mgr_is_formattable(struct fstab_rec *fstab);
int fs_mgr_is_nofail(struct fstab_rec *fstab);
int fs_mgr_swapon_all(struct fstab *fstab); int fs_mgr_swapon_all(struct fstab *fstab);
int fs_mgr_do_format(struct fstab_rec *fstab); int fs_mgr_do_format(struct fstab_rec *fstab);