commit:     76ae45b316e09ec982a1f02d77017efbd5909d40
Author:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
AuthorDate: Mon Dec  3 14:12:19 2018 +0000
Commit:     Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
CommitDate: Mon Dec  3 14:12:41 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76ae45b3

sys-fs/f2fs-tools: revbump to fix fsck on boot

Closes: https://bugs.gentoo.org/671786
Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 sys-fs/f2fs-tools/f2fs-tools-1.12.0-r1.ebuild      | 37 ++++++++++++++
 .../f2fs-tools/files/f2fs-tools-1.12.0-fsck.patch  | 56 ++++++++++++++++++++++
 2 files changed, 93 insertions(+)

diff --git a/sys-fs/f2fs-tools/f2fs-tools-1.12.0-r1.ebuild 
b/sys-fs/f2fs-tools/f2fs-tools-1.12.0-r1.ebuild
new file mode 100644
index 00000000000..523fddda177
--- /dev/null
+++ b/sys-fs/f2fs-tools/f2fs-tools-1.12.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Tools for Flash-Friendly File System (F2FS)"
+HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/about/";
+SRC_URI="https://dev.gentoo.org/~zlogene/distfiles/${CATEGORY}/${PN}/${P}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0/6"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86"
+IUSE="selinux"
+
+RDEPEND="selinux? ( sys-libs/libselinux )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+       eapply "${FILESDIR}"/${P}-fsck.patch
+       default
+       eautoreconf
+}
+
+src_configure() {
+       #This is required to install to /sbin, bug #481110
+       econf \
+               --bindir="${EPREFIX}"/sbin \
+               --disable-static \
+               $(use_with selinux)
+}
+
+src_install() {
+       default
+       find "${D}" -name "*.la" -delete || die
+}

diff --git a/sys-fs/f2fs-tools/files/f2fs-tools-1.12.0-fsck.patch 
b/sys-fs/f2fs-tools/files/f2fs-tools-1.12.0-fsck.patch
new file mode 100644
index 00000000000..72d86fec465
--- /dev/null
+++ b/sys-fs/f2fs-tools/files/f2fs-tools-1.12.0-fsck.patch
@@ -0,0 +1,56 @@
+From a6160c3e21f43b89b49802cc4a956d1c4b65ae44 Mon Sep 17 00:00:00 2001
+From: Chao Yu <[email protected]>
+Date: Mon, 26 Nov 2018 18:53:37 +0800
+Subject: fsck.f2fs: allow to fsck readonly image w/ -f option
+
+To keep line with e2fsprogs, let's allow to fsck mounted image as
+readonly w/ -f option.
+
+Reported-by: Perfect Gentleman <[email protected]>
+Signed-off-by: Chao Yu <[email protected]>
+---
+ fsck/main.c       | 1 +
+ include/f2fs_fs.h | 1 +
+ lib/libf2fs.c     | 2 +-
+ 3 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/fsck/main.c b/fsck/main.c
+index 675c603..bb79f6e 100644
+--- a/fsck/main.c
++++ b/fsck/main.c
+@@ -249,6 +249,7 @@ void f2fs_parse_options(int argc, char *argv[])
+                       case 'f':
+                       case 'y':
+                               c.fix_on = 1;
++                              c.force = 1;
+                               MSG(0, "Info: Force to fix corruption\n");
+                               break;
+                       case 'q':
+diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
+index 65cc8fd..6eebb3a 100644
+--- a/include/f2fs_fs.h
++++ b/include/f2fs_fs.h
+@@ -369,6 +369,7 @@ struct f2fs_configuration {
+       void *private;
+       int dry_run;
+       int fix_on;
++      int force;
+       int defset;
+       int bug_on;
+       int alloc_failed;
+diff --git a/lib/libf2fs.c b/lib/libf2fs.c
+index cc335db..498f6c0 100644
+--- a/lib/libf2fs.c
++++ b/lib/libf2fs.c
+@@ -821,7 +821,7 @@ int get_device_info(int i)
+                       return -1;
+               }
+ 
+-              if (S_ISBLK(stat_buf->st_mode))
++              if (S_ISBLK(stat_buf->st_mode) && !c.force)
+                       fd = open(dev->path, O_RDWR | O_EXCL);
+               else
+                       fd = open(dev->path, O_RDWR);
+-- 
+cgit 1.2-0.3.lf.el7
+

Reply via email to