linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: "Kweh, Hock Leong" <hock.leong.kweh@intel.com>
Cc: Peter Jones <pjones@redhat.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Matt Fleming <matt@codeblueprint.co.uk>,
	Ming Lei <ming.lei@canonical.com>,
	"Ong, Boon Leong" <boon.leong.ong@intel.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
	Sam Protsenko <semen.protsenko@linaro.org>,
	Roy Franz <roy.franz@linaro.org>, Borislav Petkov <bp@alien8.de>,
	Al Viro <viro@ZenIV.linux.org.uk>,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v4 2/2] efi: an sysfs interface for user to update efi firmware
Date: Fri, 24 Apr 2015 08:16:15 -0700	[thread overview]
Message-ID: <1429888575.2182.20.camel@HansenPartnership.com> (raw)
In-Reply-To: <F54AEECA5E2B9541821D670476DAE19C2CC12798@PGSMSX102.gar.corp.intel.com>

On Fri, 2015-04-24 at 02:14 +0000, Kweh, Hock Leong wrote:
> > -----Original Message-----
> > From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com]
> > Sent: Thursday, April 23, 2015 10:10 PM
> > 
> > On Thu, 2015-04-23 at 08:30 +0000, Kweh, Hock Leong wrote:
> > > > -----Original Message-----
> > > > From: James Bottomley
> > [mailto:James.Bottomley@HansenPartnership.com]
> > > > Sent: Wednesday, April 22, 2015 11:19 PM
> > > >
> > > >
> > > > Yes, I think we've all agreed we can do it ... it's now a question of whether
> > we
> > > > can stomach the ick factor of actually initiating a transaction in close ... I'm
> > still
> > > > feeling queasy.
> > >
> > > The file "close" here can I understand that the file system will call the
> > "release"
> > > function at the file_operations struct?
> > > http://lxr.free-electrons.com/source/include/linux/fs.h#L1538
> > >
> > > So, James you are meaning that we could initiating the update transaction
> > > inside the f_ops->release() and return the error code if update failed in this
> > > function?
> > 
> > Well, that's what I was thinking.  However the return value of ->release
> > doesn't get propagated in sys_close (or indeed anywhere ... no idea why
> > it returns an int) thanks to the task work additions, so we'd actually
> > have to use the operation whose value is propagated in sys_close() which
> > turns out to be flush.
> > 
> > James
> > 
> 
> Okay, I think I got you. Just to double check for in case: you are meaning
> to implement it at f_ops->flush() instead of f_ops->release().

Well, what I'm saying is that the only way to propagate an error to
close is by returning one from the flush file_operation.

Let's cc fsdevel to see if they have any brighter ideas.

The problem is we need to update firmware (several megabytes of it) via
standard system tools.  We're thinking cat to a device.  The problem is
that we need an error code back once the update goes through (which it
can't until we've fed all the firmware data into the system).  To use
standard unix tools, we have to trigger off the standard system calls
cat uses and since write() will happen in chunks, the only way to commit
the transaction is in close().

We initially through of initiating the transaction in f_ops->release and
returning the error code there, but that doesn't work because its value
isn't actually propagated, so we're now thinking of initiating the
transaction in f_ops->flush instead (this is a device, not a file, so it
won't get any other flushers).  Are there any other ways for us to
propagate error on close?

James



  reply	other threads:[~2015-04-24 15:18 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-14  9:44 [PATCH v4 0/2] Enable capsule loader interface for efi firmware updating Kweh, Hock Leong
2015-04-14  9:44 ` [PATCH v4 1/2] firmware_loader: introduce new API - request_firmware_direct_full_path() Kweh, Hock Leong
2015-04-14 14:08   ` Greg Kroah-Hartman
2015-04-14 15:56     ` Andy Lutomirski
2015-04-14 16:18       ` Borislav Petkov
2015-04-15 10:14         ` Matt Fleming
2015-04-15 10:18           ` Borislav Petkov
2015-04-15 11:09             ` Matt Fleming
2015-04-15 13:15       ` Greg Kroah-Hartman
2015-04-15 15:53         ` Andy Lutomirski
2015-04-15 12:48   ` Matt Fleming
2015-04-14  9:44 ` [PATCH v4 2/2] efi: an sysfs interface for user to update efi firmware Kweh, Hock Leong
2015-04-14 14:09   ` Greg Kroah-Hartman
2015-04-14 15:52     ` Andy Lutomirski
2015-04-15 13:20       ` Greg Kroah-Hartman
2015-04-15 15:45         ` Andy Lutomirski
2015-04-16  0:19           ` Roy Franz
2015-04-17 13:50             ` Greg KH
2015-04-15 11:32     ` Kweh, Hock Leong
2015-04-15 13:19       ` Greg Kroah-Hartman
2015-04-16  9:42         ` Kweh, Hock Leong
2015-04-17 13:49           ` Greg Kroah-Hartman
2015-04-17 14:36             ` Matt Fleming
2015-04-20  3:28               ` Kweh, Hock Leong
2015-04-20 14:43                 ` Greg Kroah-Hartman
2015-04-21  3:23                   ` Kweh, Hock Leong
2015-04-21  7:56                     ` Greg Kroah-Hartman
2015-04-22  1:21                       ` James Bottomley
2015-04-22  1:58                         ` Andy Lutomirski
2015-04-22  2:20                           ` James Bottomley
2015-04-22  3:24                             ` Andy Lutomirski
2015-04-22  4:51                               ` James Bottomley
2015-04-22 16:50                                 ` Andy Lutomirski
2015-04-22 17:34                                   ` James Bottomley
2015-04-22 17:45                                     ` Andy Lutomirski
2015-04-22 13:27                           ` Peter Jones
2015-04-22 15:18                             ` James Bottomley
2015-04-22 15:24                               ` One Thousand Gnomes
2015-04-23  8:30                               ` Kweh, Hock Leong
2015-04-23 14:09                                 ` James Bottomley
2015-04-24  2:14                                   ` Kweh, Hock Leong
2015-04-24 15:16                                     ` James Bottomley [this message]
2015-04-27 21:59                                       ` Andy Lutomirski
2015-04-27 22:35                                         ` James Bottomley
2015-04-27 22:40                                           ` Andy Lutomirski
2015-04-27 22:51                                             ` James Bottomley
2015-04-29 11:23                                               ` Kweh, Hock Leong
2015-04-29 18:40                                                 ` Andy Lutomirski
2015-04-29 21:37                                                   ` James Bottomley
2015-04-30  9:17                                                   ` Kweh, Hock Leong
2015-04-30 17:55                                                     ` Andy Lutomirski
2015-04-29 21:35                                                 ` James Bottomley
2015-04-29 21:36                                                   ` Andy Lutomirski
2015-04-29 21:39                                                     ` James Bottomley
2015-04-29 21:42                                                       ` Andy Lutomirski
2015-04-20 17:59             ` James Bottomley
2015-04-22 15:35         ` James Bottomley
2015-04-22 15:46           ` Greg Kroah-Hartman
2015-04-22 16:11             ` James Bottomley
2015-04-23  9:50               ` Greg Kroah-Hartman
2015-04-23 16:14                 ` James Bottomley
2015-04-23 20:38                   ` Greg Kroah-Hartman

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=1429888575.2182.20.camel@HansenPartnership.com \
    --to=james.bottomley@hansenpartnership.com \
    --cc=boon.leong.ong@intel.com \
    --cc=bp@alien8.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=hock.leong.kweh@intel.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=matt@codeblueprint.co.uk \
    --cc=ming.lei@canonical.com \
    --cc=pjones@redhat.com \
    --cc=roy.franz@linaro.org \
    --cc=semen.protsenko@linaro.org \
    --cc=viro@ZenIV.linux.org.uk \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).