From: Vivek Goyal <vgoyal@redhat.com>
To: Petr Tesarik <ptesarik@suse.com>
Cc: joeyli <jlee@suse.com>, "Lee, Chun-Yi" <joeyli.kernel@gmail.com>,
kexec@lists.infradead.org, Simon Horman <horms@verge.net.au>
Subject: Re: [PATCH] kexec: Add option to fallback to old kexec syscall when kexec file based syscall failed
Date: Fri, 15 Jul 2016 11:13:46 -0400 [thread overview]
Message-ID: <20160715151346.GA29818@redhat.com> (raw)
In-Reply-To: <20160715164240.6a4741bc@hananiah.suse.cz>
On Fri, Jul 15, 2016 at 04:42:40PM +0200, Petr Tesarik wrote:
> On Fri, 15 Jul 2016 08:51:14 -0400
> Vivek Goyal <vgoyal@redhat.com> wrote:
>
> > On Fri, Jul 15, 2016 at 09:58:22AM +0200, Petr Tesarik wrote:
> > > On Fri, 15 Jul 2016 07:57:22 +0800
> > > joeyli <jlee@suse.com> wrote:
> > >
> > > > Hi Vivek
> > > >
> > > > On Thu, Jul 14, 2016 at 10:53:28AM -0400, Vivek Goyal wrote:
> > > > > On Thu, Jul 14, 2016 at 04:45:11PM +0800, Lee, Chun-Yi wrote:
> > > > > > This patch adds a new "--fallback-kexec" option to give a chance to
> > > > > > fallback to old kexec syscall when file based kexec syscall operation
> > > > > > failed.
> > > > >
> > > > > I think caller should switch to using different interface if need be. But
> > > > > I don't see much point in providing an option for this in kexec-tools.
> > > > >
> > > > > Vivek
> > > > >
> > > >
> > > > OK~ Understood!
> > > >
> > > > Thanks for Baoquan's and your opinion for this patch.
> > >
> > > Is there some sort of diagnostics, so a calling script can determine
> > > whether kexec failed, because there's no suppor for kexec_file_load(2)
> > > or for a different reason?
> >
> > Will we not get -ENOSYS if kexec_file_load() is not implemented?
>
> Sure, the kexec code will see a beautiful ENOSYS in errno, but it
> merely prints this message on stderr (possibly with a different error
> string if not linked against glibc):
>
> kexec_file_load failed: Function not implemented
>
> ...and exits with status 255 (same for any other error). Which is, um,
> not very friendly to automated error handling...
So what are the options? One should return different error codes as
returned by glibc? But bash or other script will not have a library
to translate it. I guess scripts will have to hard code the meaning
of a particular return code.
BTW, user can always try kexec_file_load() and if it fails, try older
version of syscall and that should work for lot of use cases?
Vivek
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2016-07-15 15:14 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-14 8:45 [PATCH] kexec: Add option to fallback to old kexec syscall when kexec file based syscall failed Lee, Chun-Yi
2016-07-14 9:51 ` Baoquan He
2016-07-14 10:02 ` Baoquan He
2016-07-14 10:35 ` joeyli
2016-07-14 14:12 ` Baoquan He
2016-07-14 14:53 ` Vivek Goyal
2016-07-14 23:57 ` joeyli
2016-07-15 7:58 ` Petr Tesarik
2016-07-15 10:28 ` joeyli
2016-07-15 11:20 ` Petr Tesarik
2016-07-15 12:51 ` Vivek Goyal
2016-07-15 14:42 ` Petr Tesarik
2016-07-15 15:13 ` Vivek Goyal [this message]
2016-07-15 15:26 ` Petr Tesarik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160715151346.GA29818@redhat.com \
--to=vgoyal@redhat.com \
--cc=horms@verge.net.au \
--cc=jlee@suse.com \
--cc=joeyli.kernel@gmail.com \
--cc=kexec@lists.infradead.org \
--cc=ptesarik@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.