swapon: support "pri=NNN" in fstab

function                                             old     new   delta
swap_on_off_main                                     244     365    +121

Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Tito Ragusa 2013-08-08 10:21:27 +02:00 committed by Denys Vlasenko
parent a5e6c6cd3b
commit 8c7fcbd752

View File

@ -95,6 +95,20 @@ static int do_em_all(void)
if (applet_name[5] != 'n' if (applet_name[5] != 'n'
|| hasmntopt(m, MNTOPT_NOAUTO) == NULL || hasmntopt(m, MNTOPT_NOAUTO) == NULL
) { ) {
#if ENABLE_FEATURE_SWAPON_PRI
char *p;
g_flags = 0; /* each swap space might have different flags */
p = strstr(m->mnt_opts, "pri=");
if (p) {
/* Max allowed 32767 (==SWAP_FLAG_PRIO_MASK) */
int swap_prio = MIN(bb_strtoull(p + 4 , NULL, 10), SWAP_FLAG_PRIO_MASK);
/* We want to allow "NNNN,foo", thus errno == EINVAL is allowed too */
if (errno != ERANGE) {
g_flags = SWAP_FLAG_PREFER |
(swap_prio << SWAP_FLAG_PRIO_SHIFT);
}
}
#endif
err += swap_enable_disable(m->mnt_fsname); err += swap_enable_disable(m->mnt_fsname);
} }
} }