RE: [RFC 0/3] Add capsule update using error on close semantics

Kweh, Hock Leong
2015-04-30T09:31:05Z

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 2309 bytes --]

> -----Original Message-----
> From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com]
> Sent: Thursday, April 30, 2015 7:08 AM
> To: linux-efi@vger.kernel.org
> Cc: Kweh, Hock Leong; LKML; Andy Lutomirski; Greg Kroah-Hartman; Peter
> Jones
> Subject: [RFC 0/3] Add capsule update using error on close semantics
>
> This is a straw man implementation. The three patches firstly thread the
> needed ->flush() file op through sysfs and kernfs. The next one extracts
> transaction buffer handling from firmware_class.c and makes it generic in a
> lib helper and the third patch adds a bare bones capsule update (I suspect
> the latter needs more work, since it doesn't implement the scatterlist).
>
> James Bottomley (3):
> sysfs,kernfs: add flush operation
> firmware_class: split out transaction helpers
> efi: add capsule update capability via sysfs
>
> drivers/base/firmware_class.c | 117 ++++---------------------------
> drivers/firmware/efi/Makefile | 2 +-
> drivers/firmware/efi/capsule.c | 78 +++++++++++++++++++++
> drivers/firmware/efi/capsule.h | 2 +
> drivers/firmware/efi/efi.c | 8 +++
> fs/kernfs/file.c | 16 +++++
> fs/sysfs/file.c | 16 +++++
> include/linux/kernfs.h | 2 +
> include/linux/sysfs.h | 2 +
> include/linux/transaction_helper.h | 26 +++++++
> lib/Makefile | 2 +-
> lib/transaction_helper.c | 137
> +++++++++++++++++++++++++++++++++++++
> 12 files changed, 304 insertions(+), 104 deletions(-) create mode 100644
> drivers/firmware/efi/capsule.c create mode 100644
> drivers/firmware/efi/capsule.h create mode 100644
> include/linux/transaction_helper.h
> create mode 100644 lib/transaction_helper.c
>
> James

Hi James,

I like the sysfs enhancement but require Greg to buy in the idea.
For the efi capsule part, Matt has implemented some APIs where
you could get the patch at http://permalink.gmane.org/gmane.linux.kernel.efi/4837.
So, I would think that leveraging the APIs that Matt has created
is a better choice.

Thanks & Regards,
Wilson

ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éÝ¶\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dÊ‡Ú™ë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥