Commit Graph

95 Commits

Author SHA1 Message Date
Hongxu Jia f91a01be70 e2fsprogs: tweak mke2fs ext4 features
While e2fsprogs upgraded to 1.43, it dropped the patch
Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch,
we get it back and rebase for 1.43 to fix invoking grub-probe
failed.

Without the fix:
...
root@localhost:~# mkfs.ext4 /dev/sda3
[skip]
root@localhost:~# grub-probe --target=fs -d /dev/sda3
grub-probe: error: unknown filesystem.
...

After apply the fix:
...
root@localhost:~# mkfs.ext4 /dev/sda3
[skip]
root@localhost:~# grub-probe --target=fs -d /dev/sda3
ext2
...

(From OE-Core rev: a96ad733cf80716e26882889a130c87a78e5f576)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-01 16:22:40 +01:00
Richard Purdie b6d61ec997 e2fsprogs: Manually bump PR due to PV change (work around sstate confusion)
(From OE-Core rev: cef26f5246db0806eec160c1a3bf77789e0ef1a2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-21 14:02:34 +01:00
Alexander Kanavin 84cce1d49d e2fsprogs: remove the extra dot from the recipe filename
(From OE-Core rev: e4624e76cd53b6aee270a04784b1597e755839d5)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-21 13:00:17 +01:00
Robert Yang f221f33170 e2fsprogs: 1.42.99+1.43+git -> 1.43
* Removed patches already in the source:
  - Revert-mke2fs-enable-the-metadata_csum-and-64bit-fea.patch
  - xattr_ordering.patch

* COPYING -> NOTICE, the md5sum is the same.

* e2fsprogs_git.bb -> e2fsprogs_1.43..bb

(From OE-Core rev: e0531174119bff21e9014b95ed1bbd0e1c01af26)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-15 08:35:00 +01:00
Jonathan Liu f11de9d205 e2fsprogs: do not enable non-stable features by default
(From OE-Core rev: 092984669d8590627cfb188a0aa00244e22c4671)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-03 10:49:00 +00:00
Richard Purdie 120a1605eb e2fsprogs: Update to upstream version of a patch
Switch to the upstream version of the xattr patch.

(From OE-Core rev: 631217cc3cb15a7ec4f3cdf6e8d1ff67de2a72b3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-15 16:28:45 +00:00
Richard Purdie d1496b4cc4 e2fsprogs: Fix multiple xattr handling
There is an ordering issue when adding multiple xattr values to
an ext filesystem build using the -d option to mkfs. This patch
fixes that issue. Its been posted for discussion with the upstream
community.

(From OE-Core rev: 4b579c1f13ba20198a390629cd099d8ad470ba32)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:27:43 +00:00
Richard Purdie 00ccf51f17 e2fsprogs: Ensure we use the right mke2fs.conf when restoring from sstate
If we don't do this, we can use an mke2fs.conf from a different path which
may contain incompatible flags and lead to obtuse build failures such as:

Invalid filesystem option set: has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize

To fix this, wrap the mke2fs binary and its hardlinks and point at the
correct configuration file.

In particular this fixes conflicts between master and jethro builds
affecting the main autobuilder.

(From OE-Core rev: 11a6227759515da433230eb44eca1a4cb2ac3b14)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-05 11:16:41 +00:00
Ross Burton 1c4a8cc87f e2fsprogs: disable blkid
Both e2fsprogs and util-linux can build blkid, but we want to always use
util-linux's for consistency.

(blkid was enabled again in a1f235)

(From OE-Core rev: eaff837048bc4fba0ed64fd612634682fe254d7f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 18:05:40 +00:00
Robert Yang fdb12f991a e2fsprogs: set PV to 1.42.99+1.43+git${SRCPV}
As Martin and Ross suggested.

(From OE-Core rev: 33fb5629c8a306b00d84f564df2faa81501deadd)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:21 +00:00
Alexander Kanavin d46bc77a4e e2fsprogs: fix upstream version check
(From OE-Core rev: 2b064b6d9783029cc142930e2332772c10e90d09)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-20 17:07:12 +00:00
Robert Yang 839fb18935 e2fsprogs: fix PV
We had upgraded e2fsprogs from 1.42.9 to 1.43 (WIP), and used:
PV = "1.42+1.43-git${SRCPV}"
But:
$ dpkg --compare-versions 1.42+1.43 gt 1.42.9 && echo greater || echo less
less

It shows that 1.42+1.43 is less than 1.42.9, so this is a downgraded. Use
PV = "1.42.13+git${SRCPV}"
to fix the problem. 1.42.13 is the latest e2fsprogs 1.42 version.

(From OE-Core rev: aafe22fb5f2f58e1e7206a34f410e9cae0d3cfe3)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 08:53:05 +00:00
Robert Yang b1236dccbf e2fsprogs: add PACKAGECONFIG for fuse
Fixed:
e2fsprogs-1.42+1.43-gitAUTOINC+0f26747167: e2fsprogs rdepends on fuse, but it isn't a build dependency? [build-deps]

The fuse is in meta-filesystems layer.

(From OE-Core rev: 4612448ee7e26601694e4ab3d41a92982712c8a5)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-19 08:53:05 +00:00
Robert Yang 8c3276ecea e2fsprogs: 1.42.9 -> 1.43 (master)
Upgrade to 1.43 (master) to make "mke2fs -d" support xattr, so that the
layer which requires xattr such as meta-selinux can populate images
easily.

* Remove the following patches since they are alredy in the source.
  0001-e2fsprogs-fix-cross-compilation-problem.patch
  0001-libext2fs-fix-potential-buffer-overflow-in-closefs.patch
  0001-mke2fs-add-the-ability-to-copy-files-from-a-given-di.patch
  0002-misc-create_inode.c-copy-files-recursively.patch
  0003-misc-create_inode.c-create-special-file.patch
  0004-misc-create_inode.c-create-symlink.patch
  0005-misc-create_inode.c-copy-regular-file.patch
  0006-misc-create_inode.c-create-directory.patch
  0007-misc-create_inode.c-set-owner-mode-time-for-the-inod.patch
  0008-mke2fs.c-add-an-option-d-root-directory.patch
  0009-misc-create_inode.c-handle-hardlinks.patch
  0010-debugfs-use-the-functions-in-misc-create_inode.c.patch
  0011-mke2fs.8.in-update-the-manual-for-the-d-option.patch
  0012-Fix-musl-build-failures.patch
  CVE-2015-0247.patch
  copy-in-create-hardlinks-with-the-correct-directory-.patch
  fix-icache.patch
  misc-mke2fs.c-return-error-when-failed-to-populate-fs.patch

* Remove cache_inode.patch since it is not needed any more

* Updated mkdir.patch and ptest.patch

* Add --enable-libblkid to EXTRA_OECONF since libblkid is not created by
  default.

* Time of core-image-sato-sdk do_rootfs:
  - Before upgrade
    real    3m18.508s
    user    7m42.088s
    sys     1m1.984s

  - After upgrade
    real    3m21.552s
    user    7m38.496s
    sys     1m0.644s

   The are nearly the same

* The "fsck -f" shows the image is OK, and also can boot.

[YOCTO #8622]

(From OE-Core rev: a1f235ad736d322bb50eb4a4293b6b2f4e5200aa)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:03 +00:00
Mariano Lopez e5c011b041 Add "CVE:" tag to current patches in OE-core
The currnet patches in OE-core doesn't have the "CVE:"
tag, now part of the policy of the patches.

This is patch add this tag to several patches. There might
be patches that I miss; the tag can be added in the future.

(From OE-Core rev: 065ebeb3e15311d0d45385e15bf557b1c95b1669)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-11 23:26:32 +00:00
Robert Yang c1d5e89790 e2fsprogs: backport a patch to fix filetype for hardlink
Backport a patch to fix hardlinks filetype:
IMAGE_INSTALL_append = " e2fsprogs"
$ ./tmp/sysroots/x86_64-linux/sbin/fsck.ext4 tmp/deploy/images/qemux86/core-image-minimal-qemux86.ext4 -f
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Setting filetype for entry 'fsck.ext2' in /sbin (80) to 1.
Setting filetype for entry 'mkfs.ext4' in /sbin (80) to 1.
Setting filetype for entry 'fsck.ext4' in /sbin (80) to 1.
Setting filetype for entry 'mkfs.ext4dev' in /sbin (80) to 1.
Setting filetype for entry 'fsck.ext3' in /sbin (80) to 1.
Setting filetype for entry 'mkfs.ext2' in /sbin (80) to 1.
Setting filetype for entry 'mkfs.ext3' in /sbin (80) to 1.
Setting filetype for entry 'e2fsck' in /sbin (80) to 1.
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

test.img: ***** FILE SYSTEM WAS MODIFIED *****
test.img: 799/65536 files (0.1% non-contiguous), 14652/262144 blocks

Now when run it again, we may get:
[snip]
Pass 3A: Optimizing directories
[snip]
test.img: ***** FILE SYSTEM WAS MODIFIED *****
test.img: 799/65536 files (0.1% non-contiguous), 14652/262144 blocks

This is fine since it is optimizing, from "man e2fsck":
e2fsck may sometimes optimize a few directories --- for example, if
directory indexing is enabled and a directory is not indexed and would
benefit from being indexed, or if the index structures are corrupted
and need to be rebuilt.

[YOCTO #8544]

(From OE-Core rev: 02ad8e3c32656a74fa82284105706ae67e5108f3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-27 07:24:28 +00:00
Ross Burton 1c914a844b meta: Fix Upstream-Status statements
Fix a variety of problems such as typos, bad punctuations, or incorrect
Upstream-Status values.

(From OE-Core rev: bd220fe6ce8c3a0805f13a14706d3130ea872604)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-12 23:01:53 +01:00
Alexander Kanavin ca1497b1f2 e2fsprogs: explain why there is no update for now
(From OE-Core rev: 2dd4481ca099c75c041919e500228d24c7b1b4e2)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-01 11:44:02 +01:00
Kai Kang c4437f1780 Update alternatives of man pages
Update alternatives of man pages in several packages.

(From OE-Core rev: 2cff20f423fb9e82b44c68504be605c223bd74fb)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-08 00:01:23 +01:00
Roy Li 3176510ee7 e2fsprogs: fix the CVE-2015-1572
Backport a patch to fix CVE-2015-1572
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-1572

(From OE-Core rev: 203e1024cc7517cad28423cc04f641376cc8f2f5)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-07 13:40:37 +01:00
Martin Jansa 8b96568f61 e2fsprogs: install populate-extfs.sh
* install populate-extfs.sh from contrib, be aware that in order
  to use it you need to set DEBUGFS shell variable, otherwise it will
  try to use debugfs from relative path which is almost always
  incorrect:
    CONTRIB_DIR=$(dirname $(readlink -f $0))
    DEBUGFS="$CONTRIB_DIR/../debugfs/debugfs"

(From OE-Core rev: 525b7b587a00466e4322450c171d920b47201e56)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-03 11:43:50 +01:00
Dmitry Eremin-Solenikov 869a770ba4 e2fsprogs: add ptest
Enable ptest for e2fsprogs by reusing provided testsuite.

(From OE-Core rev: 47edd33cf8df3ebbfd5164136fb79ac831f01286)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-21 07:20:24 +01:00
Alex J Lennon 84e500799b e2fsprogs: Package resize2fs
(From OE-Core rev: 3047160d04dfa1846db52b58d77f6380ea3dfb6e)

Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-22 08:49:59 +00:00
Sona Sarmadi 4811b04f12 e2fsprogs: CVE-2015-0247
Fixes a heap buffer overflow in lib/ext2fs/openfs.c which allows
a trivial arbitrary memory write under certain conditions.

References
http://git.kernel.org/cgit/fs/ext2/e2fsprogs.git/commit/?id=f66e6ce4
http://www.ocert.org/advisories/ocert-2015-002.html

(From OE-Core rev: 572437720b6698a3a10627fcd9654ef10f827836)

Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-16 17:42:07 +00:00
Richard Purdie efa7c29a12 e2fsprogs: Add a patch to speedup mkfs
See the patch description, this adds a tweak to an algorithm to improve
core-image-sato-sdk mkfs time from over 8 minutes to about 35s.

Needs discussion upstream but seems reasonable for our uses of it.

(From OE-Core rev: 468fa9a7fac86bb0fcd3cbd18dc1492b57ca25f3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Richard Purdie 06ff3c420c e2fsprogs: Extend to add nativesdk for syslinux
(From OE-Core rev: 96ca20db0f4e06a5298f706b30313079af54f1bc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-15 21:58:29 +00:00
Shiqun Lin fc5ad52ca7 e2fsprogs: clean host path in compile_et, mk_cmds
* /usr/bin/compile_et
* /usr/bin/mk_cmds

(From OE-Core rev: 7ac224ee9f626d0ba2305bc4608b29f047cc65a4)

Signed-off-by: Shiqun Lin <Shiqun.Lin@windriver.com>
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-25 13:03:28 +00:00
Ross Burton 5dc9a8f407 e2fsprogs: update acinclude.m4
Some macros have been added upstream and were not being executed, so refresh our
fork of this file.

(From OE-Core rev: 6988baed623c507aa44164801c5359411f462d84)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 15:38:55 +01:00
Ross Burton ec20c063b0 e2fsprogs: remove manual build of util/subst
The build system uses BUILD_CC itself now, so we don't need to do it manually.

(From OE-Core rev: 32ddff201eb00b1ffa244904251ad0ad39760b62)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 15:38:55 +01:00
Ross Burton cea6ad7b93 e2fsprogs: enable verbose build
(From OE-Core rev: e29c5947c2618341a46dc125a155b80c07d2f9ae)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 15:38:55 +01:00
Ross Burton 0a749478ff e2fsprogs: remove chmod
This chmod doesn't appear to be needed, and history fades away in 2005.

(From OE-Core rev: bade04d62468acbec2b54f38b5071a3b1070ab9a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 15:38:55 +01:00
Paul Barker cb860e1543 e2fsprogs: Backport fixes for building with musl
Both of these fixes have been applied upstream and improve general code
correctness.  They are needed when building with TCLIBC=musl but shouldn't cause
any harm with other libc implementations.

(From OE-Core rev: 23a533908355b7bb37ce34b073ac91aa20c5776d)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-23 09:26:09 +01:00
Saul Wold bcef58953a e2fsprogs: use update-alt for chattr
Both busybox and e2fsprogs provide chattr, ensure that they are delivered
to the same location and use update-alternatives to ensure the correct
links are there.

[YOCTO #6407]

(From OE-Core rev: 23f1dddbf9cf783d90040b67978d1291b16a13de)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-14 08:43:55 +01:00
Max Eliaser 64df4e4aef Add texinfo.bbclass; recipes that use texinfo utils at build-time inherit it.
The class itself currently does nothing. The idea is to mark all recipes that
make use of the texinfo utilities. In the future, this class could be used to
suppress the generation/formatting of documentation for performance,
explicitly track dependencies on these utilities, and eliminate Yocto's
current dependency on the host system's texinfo utilities.

(From OE-Core rev: e6fb2f9afe2ba6b676c46d1eb297ca9cc532d405)

Signed-off-by: Max Eliaser <max.eliaser@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-02 20:46:59 +01:00
Ming Liu b3f7195061 e2fsprogs: fix multilib header conflict - ext2_types.h
ext2_types.h conflicts between 32-bit and 64-bit versions.

(From OE-Core rev: e5bae3426856f9d2fdb604278154b6242011d103)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-09 09:53:14 +01:00
Yue Tao 1d832567e0 e2fsprogs: Add e2fsprogs-mke2fs and e2fsprogs-e2fsck as recommend packages
The mke2fs and e2fsck commands are regular tools of e2fsprogs, so they
should be installed.

(From OE-Core rev: a2b6610dceb0c27484d3958d84d7f491aa759a04)

Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30 10:10:36 +01:00
Robert Yang 21a3ffb2dc e2fsprogs: return error when failed to populate fs
We need return retval when "mke2fs -d" failed, otherwise the "$?" would
be 0 which is misleading.

[YOCTO #6011]

(From OE-Core rev: 46896b601c1c93e276954b674aa30b8b4dc4f611)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21 12:05:51 +00:00
Chen Qi 7a8f3c783e e2fsprogs: fix cross compilation problem
When compiling e2fsprogs for qemumips64, we got compilation errors.
The root cause is that parse-types.sh script would fail for mips64.

However, the type size checking in parse-types.sh doesn't make much
sense in case of cross compilation. This is because that the typedef
statements in asm_types.h are for the target machine while the generated
binary in parse-types.sh script is executed on build machine.

This patch fixes such problem.

(From OE-Core rev: 45877518e2d277c63d5a561408fbfcd4cb5a2a76)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-11 09:30:13 -07:00
Robert Yang 4b293da596 e2fsprogs: populate-extfs.sh: remove it
Remove it since we don't need it anymore, and there is one inside the
e2fsprogs.

[YOCTO #4083]

(From OE-Core rev: f3a95ca6886b55e5819b068bdbd2cceb882d91a6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang fb980f759b e2fsprogs: enable the "-d" related patches
These patches should be enabled at the same time, so enable them in a
single commit, and thus we can disable it easily.

[YOCTO #4083]

(From OE-Core rev: 671bf47101b8f7bd2e6e8b7920615f9e7837ea81)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang b7afd101b8 e2fsprogs: mke2fs: update the manual for the -d option
Update the manual for the -d option

[YOCTO #4083]

(From OE-Core rev: 506774e828dff576ac91e8d328d8e84e58455147)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang 8f0ef728f9 e2fsprogs: debugfs: use the functions in misc/create_inode.c
* Use the functions in misc/create_inode.c, and remove the duplicated
  code.

* The CREATE_INODE_DEPS in the debugfs/Makefile.in is used for recording
  create_inode.o's depends which is from misc/Makefile.in, we have to
  recompile create_inode.o because we need it to print more messages when
  it is used by debugfs, just like we recompile e2freefrag.o, but it seems
  that the e2freefrag.o's depends in debugfs/Makefile.in is incorrect, it
  would not rebuild when its depends (e.g.: lib/config.h) is changed,
  which would cause unexpected errors. Make duplicated code in
  debugfs/Makefile.in and misc/Makefile.in is not a good idea, maybe we'd
  better define CREATE_INODE_DEPS in the top Makefile, I'd like to send
  another patch and fix the e2freefrag if you are fine with it.

[YOCTO #4083]

(From OE-Core rev: 460f577379ef2ecf42fb8b7f855c21400c276d4f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang b489b945bd e2fsprogs: mke2fs: handle hardlinks
Create the inode and save the native inode number when we meet the hard
link (st_nlink > 1) at the first time, use ext2fs_link() to link the
name to the target inode number when we meet the same native inode
number again.

This algorithm is referred from the genext2fs.

[YOCTO #4083]

(From OE-Core rev: 174ec622bdc00fc26392704fdadeac2c067a33f6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang 90749060f0 e2fsprogs: mke2fs: add an option: -d root-directory
This option is used for adding the files from a given directory (the
root-directory) to the filesystem, it is similiar to genext2fs, but
genext2fs doesn't fully support ext4.

[YOCTO #4083]

(From OE-Core rev: 83357ef1f6797e48de4870ccd552951b0efb3b53)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang 8b1553e9e9 e2fsprogs: mke2fs: set owner/mode/time for the inode
Set the uid, gid, mode and time for inode.

[YOCTO #4083]

(From OE-Core rev: 4039dfc38241418d10e5255725ffa9dc5c948815)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:23 +00:00
Robert Yang bc5d73d67b e2fsprogs: mke2fs: create directory
The do_mkdir_internal() is used for making dir on the target fs, most of
the code are from debugfs/debugfs.c, the debugfs/debugfs.c will be
modified to use this function.

[YOCTO #4083]

(From OE-Core rev: 30b6ad5067d7a1514c02994c31baf6ec4e5fbcb7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Robert Yang 243cc2b9ff e2fsprogs: mke2fs: copy regular file
The do_write_internal() is used for copying file from native fs to
target, most of the code are from debugfs/debugfs.c, the
debugfs/debugfs.c will be modified to use this function.

[YOCTO #4083]

(From OE-Core rev: e9a82af1581bcf357dd771765b20c8a16a4ffeb1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Robert Yang ad2f1c3040 e2fsprogs: mke2fs: create symlink
The do_symlink_internal() is used for creating symlinks, most of the
code are from debugfs/debugfs.c, the debugfs/debugfs.c will be modified
to use this function.

[YOCTO #4083]

(From OE-Core rev: 367948c87c682953e98015656814b89b64004c26)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Robert Yang c93421a398 e2fsprogs: mke2fs: create special file
The do_mknod_internal() is used for creating special file which is
block, character and fifo, most of the code are from debugfs/debugfs.c,
the debugfs/debugfs.c will be modified to use this function.

[YOCTO #4083]

(From OE-Core rev: dcb86f12691b346262c0aadbe5b2f3671b4ecd22)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00
Robert Yang d8409f8f71 e2fsprogs: mke2fs: copy files recursively
Use opendir() and readdir() to read the native directory, then use
lstat() to identify the file type and call the corresponding function to
add the file to the filesystem, call the populate_fs() recursively if it
is a directory.

NOTE: the libext2fs can't create the socket file.

[YOCTO #4083]

(From OE-Core rev: fd0d00dafcf497f23b1c3886d062c8a57e2aa515)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Reviewed-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07 14:45:22 +00:00