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;
} 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;
if (fs_mgr_is_nofail(&fstab->recs[attempted_idx])) {
ERROR("Ignoring failure 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));
} 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;
}
}

View file

@ -75,6 +75,7 @@ static struct flag_list fs_mgr_flags[] = {
{ "notrim", MF_NOTRIM },
{ "formattable", MF_FORMATTABLE },
{ "slotselect", MF_SLOTSELECT },
{ "nofail", MF_NOFAIL },
{ "defaults", 0 },
{ 0, 0 },
};
@ -491,3 +492,8 @@ int fs_mgr_is_slotselect(struct fstab_rec *fstab)
{
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_FORMATTABLE 0x4000
#define MF_SLOTSELECT 0x8000
#define MF_NOFAIL 0x40000
#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_notrim(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_do_format(struct fstab_rec *fstab);