History log of /external/f2fs-tools/lib/libf2fs.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
91a801f1627c1b09535f28c8d91a87c033928a9b 09-Jun-2017 Yang Jin <yajin@google.com> add sparse support for f2fs

Description:
modify I/O operations to support writing in sparse format
build host executable for making sparse image

Tests:
Using host executable:
./make_f2fs_host -S2000000000 userdata.img
fastboot flash userdata userdata.img

Using target executable:
adb push $OUT/system/bin/make_f2fs /system/bin
fastboot erase userdata

Analyzing the output image:
./make_f2fs_host -S2000000000 userdata.img
./make_f2fs_host test.img
simg2img userdata.img output.img
hexdump -C output.img >> output.txt
hexdump -C test.img >> test.txt

Bug: 62493641

Change-Id: I7589e1ee4ae597523d32c214944b40c8f7df07b6
/external/f2fs-tools/lib/libf2fs.c
f070415c0bededac9ca300e4cac1560bbbd9d44f 04-Feb-2017 Jaegeuk Kim <jaegeuk@google.com> f2fs-tools: merge -next changes

Changes include:
mkfs.f2fs: drop initial spaces for feature string
f2fs-tools: avoid build warnings
(origin/dev, dev) mkfs.f2fs: avoid wrong discard of dnode
f2fs-tools: fix the wrong message when errno is EBUSY
f2fs-tools: support to set and recognize CP_TRIMMED_FLAG
fsck.f2fs: sanity check segno and blk_off when building curseg array
fsck.f2fs: sanity check cp_payload before reading checkpoint
fsck.f2fs: sanity check blk_off for summary block entries
mkfs.f2fs: fix wrong segment assignment
f2fs-tools: sanity check segment count
fsck.f2fs: fix cur_valid_map buffer overflow
Fix mkfs out of tree builds
mkfs.f2fs: use noheap by default
libf2fs: avoid overwrite the c.start_sector by non-root device
...

Change-Id: I27adc30ff4439e5b3f7a290d81a3a783bf916d4a
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
f407393385843624fd4540615a5730bf8cb5c017 10-Nov-2016 Jaegeuk Kim <jaegeuk@kernel.org> f2fs-tools: initialize and avoid build warning for android

This patch initialize one variable for android build.
In addition, it avoids there-in build warnings.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
de7e07e011004a0264e27d7134ee32cbcd9695ec 02-Nov-2016 Jaegeuk Kim <jaegeuk@kernel.org> f2fs-tools: support multiple devices

This patch adds an option to specify multiple devices for an f2fs instance.

Up to 7 devices in addition to the default device can be added.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
9691420a990b81895c47b08be14b74d5ce8f8da4 28-Oct-2016 Damien Le Moal <damien.lemoal@wdc.com> f2fs-tools: introduce support for zoned block devices

With the availability of the BLKREPORTZONE and BLKRESETZONE
ioctls, there is no need for using SG_IO to discover zoned
block devices characteristics. This simplifies the code.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
81c62e2537caaacfd0937b93535006edda73e1b5 28-Oct-2016 Damien Le Moal <damien.lemoal@wdc.com> f2fs-tools: use zoned block device terminology

SMR stands for "Shingled Magnetic Recording" which makes sense
only for hard disk drives (spinning rust). The ZBC/ZAC standards
enable management of SMR disks, but solid state drives may also
support those standards. So replace "SMR" with "zoned block device"
to avoid a HDD centric terminology.

In particular, rename the HMSMR feature to BLKZONED.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
65f3d40f785079f51a93c0d8aa872e493c608f73 13-Oct-2016 Jaegeuk Kim <jaegeuk@kernel.org> libf2fs: avoid garbage printout

This patch avoids to print garbage data.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
c499346871b95583d36d164f0689a43f88245965 12-Oct-2016 Jaegeuk Kim <jaegeuk@kernel.org> f2fs: avoid AOSP build failure

SCSI-related operations are not permitted to AOSP biuld.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
e5b3ec89eec84e9d073788e6169b464169305026 28-Sep-2016 Tobias Jakobi <tjakobi@math.uni-bielefeld.de> libf2fs: increase robustness when called on root device

On some systems '/proc/mounts' contains the entry '/dev/root'
as alias for the root device, while that alias doesn't actually
exist as symlink in /dev.

/proc/mounts:
/dev/root / f2fs rw,noatime,background_gc=on,user_xattr,acl,inline_data,extent_cache,active_logs=6 0 0

mount:
/dev/mmcblk1p1 on / type f2fs (rw,noatime,background_gc=on,user_xattr,acl,inline_data,extent_cache,active_logs=6)

If the root device is mounted RO, and we try to scan it, via
'fsck.f2fs /dev/mmcblk1p1', then fsck.f2fs exits because it can't
find the entry in /proc/mounts.

Try harder to identify the root device of the system first, and
in case we are operating on it, check also for '/dev/root' in mounts.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
3ffc5a8f3ea0a70e247d1b1b222ad27f20716bdd 17-Sep-2016 Jaegeuk Kim <jaegeuk@kernel.org> f2fs-tools: use shorter config variable name

This patch has no functional change.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
c6834e9cc49d7565a6390f353ac24447b2059773 05-Aug-2016 Jaegeuk Kim <jaegeuk@kernel.org> libf2fs: show disk information

This adds to show disk information.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
74673eb7e6f223ce4023494b48915aa4371b3ef4 27-May-2016 Jaegeuk Kim <jaegeuk@kernel.org> mkfs.f2fs: ZBC device support

This patch adds "-m" option to configure ZBC device.

This is to support host-managed SMR device and configure some major features
and on-disk layout in f2fs.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
ea34c1ce1487e72fd1ff2526a6f12449490170ff 23-Feb-2016 Junling Zheng <zhengjunling@huawei.com> libf2fs: limit the total size up to 16T

F2FS can support 16T bytes at most. Limit the config.total_sectors
so that most parameters calculated according to it in sb/cp can be
limited correctly too.

Signed-off-by: Junling Zheng <zhengjunling@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
50aa77b1d3a8ddad8e82a33783b9b9d2e8f32940 19-Feb-2016 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: check /proc/mounts first to detect readonly

Once f2fs_stop_checkpoint makes f2fs as readonly, only /proc/mounts shows
RDONLY whereas /etc/mtab does not.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
25b2e75312231659cd8460064e1892351171b00c 13-Jan-2016 Jaegeuk Kim <jaegeuk@kernel.org> f2fs-tools: avoid failure and warnings for android build

This patch fixes to resolve build failure and warnings when compiling it
under AOSP.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
b008605e994ad0eec5e1680b6921dc9d9d5da355 15-Dec-2015 Jaegeuk Kim <jaegeuk@kernel.org> lib: use u8/u32/u64 for bit operations

This cleans up the bit operations.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
ee65f6ebf21194bbb4f33e688c860a28e5c57c71 15-Dec-2015 Jaegeuk Kim <jaegeuk@kernel.org> lib: fix test_bit_le functions

This patch fixes test_bit_le functions for dentry bit operations.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
9e5c021b679ebd54c719d68e8b5e6b5614fbf127 14-Dec-2015 Jaegeuk Kim <jaegeuk@kernel.org> mkfs.f2fs: fix storing volume label correctly in utf16

This patch fixes to store volume label as utf16 correctly.

Many conversion codes are copied from exfat-tools.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
1ea31c47f4050e9d4b6685f28d4ae6bfd10d4368 09-Dec-2015 Jaegeuk Kim <jaegeuk@kernel.org> libf2fs: enhance the bit operations

This patch modifies the existing bit operations.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
3894c697cede172982b319cceef4d7ea1ffdd999 08-Dec-2015 Jaegeuk Kim <jaegeuk@kernel.org> mkfs.f2fs: show correct partition size

It needs to consider different sector size when showing the total
size.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
67de42f76ac67a941cacb689cbd2e0d750ad67a9 22-Nov-2015 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: support a readonly filesystem

If f2fs is mounted as ro, we can do fsck.f2fs.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
6f9c275125853d4195c4913b817ddc97510409c5 11-Aug-2015 Jaegeuk Kim <jaegeuk@kernel.org> mkfs.f2fs: don't need to limit MIN_VOLUME SIZE

The minimum volume size is determined while preparing superblock.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
0d6d08e3f52b2253c1cbd8f2f4da837377cbbbe8 11-Aug-2015 Jaegeuk Kim <jaegeuk@kernel.org> mkfs.f2fs: set overprovision size more precisely

This patch introduces to set the default overprovision space according to the
partition size in order to provide more space.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
c93d54a1867858f8b81e2df49fa43f4d7950b43d 21-Mar-2015 Jaegeuk Kim <jaegeuk@kernel.org> mkfs.f2fs: show bytes for total_sectors

This patch shows correct information about total_sectors.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
b6012fd6a177856c5f97a5b56bb72b46cf3ab388 05-Feb-2015 Chao Yu <chao2.yu@samsung.com> mkfs.f2fs: support large sector size

Since f2fs support large sector size in commit 55cf9cb63f0e "f2fs: support large
sector size", block device with sector size of 512/1024/2048/4096 bytes can be
supported.

But mkfs.f2fs still use default sector size: 512 bytes as sector size, let's fix
this issue in this patch.

v2:
o remove unneeded printed message when sector size is large than 512 bytes
suggested by Kinglong.
o show correct sector size in printed message.
o use config.sectors_per_blk instead of DEFAULT_SECTORS_PER_BLOCK suggested by
Kinglong.
v3:
o remove another unneeded printed message when sector size is large than 512
bytes suggested by Kinglong.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Reviewed-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
370a24287e9b499f0776c4ac15b817373f69dbc4 17-Nov-2014 Changman Lee <cm224.lee@samsung.com> mkfs.f2fs: introduce some macros to simplify coding style

This patch tries to simplify coding style for readability.
Rename shortly
o rename super_block to sb

And, introduce some macros.
o set/get_cp
o set/get_sb
o next/prev_zone, last_zone and last_section
o ALIGN, SEG_ALIGN and ZONE_ALIGN

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
6fa2547e04d194141ef760564d3119b7c112aac8 07-Nov-2014 Jaegeuk Kim <jaegeuk@kernel.org> fsck.f2fs: trigger fsck.f2fs when new change was made

This patch remains user specified triggering information in superblock.
Then, if the information was changed, fsck.f2fs is triggered.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
fe067853b0945a2ae18004e0a58023694e0779b9 26-Sep-2014 joerg jungermann <jj@borkum.net> mkfs.f2fs: possible endianes bug in mkfs.f2fs roll-forward speed

I might found a bug in mkfs.f2fs. while experimenting with f2fs on my big
endian MIPS32 device (platform lantiq, 14.07-rc3, uclibc).

I ran into an issue that mkfs.f2fs, was not able to format block devices if I
did not specify the sector count manually.

I hunted it down to lib/libf2fs.c.
After I found that the detected sector count equals to the wanted sector count
shifted left (32+9) times.

I found two issues:
Firstly it uses ioctl BLKGETSIZE, which writes to an uint32_t the size of the
device.
As c->total_sectors is of type uint64_t, the value is written in to the first
4 bytes.
That explained the left shift of 32 bits.

Secondly BLKGETSIZE determines the size of the device in bytes (AFAIK, learned
by observation).
In the first branch of the if-block patched below, the c->total_sectors is
calculated by
c->total_sectors = stat_buf.st_size / c->sector_size;
The else branch omits the devision. sector_sice is mostly 512, that explained
the left shift by 9 bytes.

* fixes sector count calculation
* uses BLKGETSIZE64 if avail

Signed-off-by: joerg jungermann <jj@borkum.net>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
f46078949bdc58736170a2c85ea5b8bd3bcefa25 27-Aug-2014 Jaegeuk Kim <jaegeuk@kernel.org> f2fs_dentry_hash: avoid casting unsigned char to singed char

This can hurt when calculating hash value, resulting in false alarm.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
e91da2f664a765a5bd2bde7d47efe7c8b957ebb9 13-Jun-2014 JP Abgrall <jpa@google.com> libf2fs: move the finalize_device() into the io lib.

This is required so that libf2fs.c can be used against any kind
of device (E.g. an in-memory sparse file) just by linking against
something that provides the libf2fs_io.c functions.

libf2fs is currently libf2fs.c + libf2fs_io.c

Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
0575dd1c56ef731662687fa5b7817335b14c69ee 13-Jun-2014 Jaegeuk Kim <jaegeuk@kernel.org> libf2fs, fsck, mkfs: call f2fs_finalize_device before exit

The fsck tool should call f2fs_finalize_device before exit to close the device
file.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
3ba4ce8950e1a53f760e8ed200ad2b7d13cfa585 12-Jun-2014 JP Abgrall <jpa@google.com> mkfs: support passing in the number of sectors to use

Adds the optional sectors count:
mkfs.f2fs [options] device [sectors]

Change-Id: I3ac83121576574bda074140ffa60195a2bc9947b

Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
4ea4f1db27c0d0d3e40f561191b4ceeecb80ab1a 12-May-2014 Changman Lee <cm224.lee@samsung.com> fsck.f2fs: large volume support

This patch support large volume over about 3TB.

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
[Jaegeuk Kim: add missing cp_payload in f2fs_super_block]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
/external/f2fs-tools/lib/libf2fs.c
a68ee58a5d1485be637bcc4e4fbddc5da727fc62 14-May-2014 JP Abgrall <jpa@google.com> Cleanup various build warnings (signed vs unsigned, unused vars,...)

* removed unused includes.
* removed unused parameters.
* Fixed a bunch of warnings around:
int i;
if (i < some_uint) ...
and
u32 x;
...
if (x < 0) return error;
* Protect BLKDISCARD usage if it is not available.

Change-Id: Iede035b1beb2df01c961589a69aff47a5258ecd2
Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
e35b8afb34822ccc0835b453c7a3417bc0825569 06-Apr-2014 Jaegeuk Kim <jaegeuk.kim@samsung.com> f2fs-tools: announce dual licenses with GPL and LGPL v2

This patch announces LGPL v2 for the following files.
- include/f2fs_fs.h
- lib/libf2fs.c
- lib/libf2fs_io.c
- mkfs/f2fs_format.c
- mkfs/f2fs_format_main.c
- mkfs/f2fs_format_utils.c
- mkfs/f2fs_format_utils.h

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
15ea79b3ae7f0474ade43ba8b6eb328806e01e15 06-Feb-2014 JP Abgrall <jpa@google.com> further split up lib2fs so that it does not do any IO directly.

This will allow turning mkfs into a libarary more easily.

Signed-off-by: JP Abgrall <jpa@google.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
b155ea8e18a2de5a5d09d3c969cc6fd79a04cb1d 31-Aug-2013 Changman Lee <cm224.lee@samsung.com> f2fs-tools: discard is default but not set in config

flash devices support discard therefore discard is default but not set
in config

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
cd1e4704d0cbf1cbb49b3f33c576566b4b1e296e 20-Aug-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> fsck, lib: support inline xattr

This patch adjusts the modification to handle inline xattrs.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
2c877a862d6d22ff5324e90b726c7d6a26febfb7 02-Aug-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> libf2fs: check more conditions on mounted filesystem

In the case of lazy umount, "umount -l", some processes are able to use the
file system even if its mountpoint was disconnected.
At this moment, we should not allow mkfs.f2fs.
This patch adds this condition check.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
57baa23a3279a4b9e9df0ab92ee20a2c79b839d8 30-Jul-2013 Changman Lee <cm224.lee@samsung.com> f2fs-tools: add option to display directory tree

This option shows directory tree of f2fs.

Usage: fsck.f2fs -t /dev/sdx

`-- p0
|-- f4
`-- d6
|-- f5e
|-- cb6
|-- fdb
|-- fe8
`-- l9a

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
8e19033a635ca778ba089d5cf341e26728d77711 30-Jul-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> libf2fs: add an error message for a mounted device

We need to notify the mounted device.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
7f35b548d4b0e3c8577ad7a09433e589a0ab3f2a 04-Jul-2013 Changman Lee <cm224.lee@samsung.com> f2fs-tools: add fsck.f2fs and dump.f2fs

fsck.f2fs checks file system consistency, but does not repair a broken
file system yet.
dump.f2fs shows the information of a specific inode and makes dump file
of SSA and SIT.
f2fs checks file system consistency as follows:
o When data about used area and its metadata are identical,
f2fs is considered consistent. To verify such consistency, we use
three bitmaps: nat_area_bitmap, sit_area_bitmap, and main_area_bitmap.
First, each bit in nat_area_bitmap corresponds to a nid in NAT.
Second, each bit in sit_area_bitmap corresponds to a valid block in a
segment. This bitmap is same to the total valid_map of f2fs_sit_entries
in SIT.
Last, each bit in main_area_bitmap corresponds to a block in main area
except meta area.
After a consistency check of each block, we set or clear the
corresponding bit of each bitmap.
From the root node, we start consistency check. The verified
information varies according to block type.
1. NODE
- Read information of node block from NAT
- Check if block address is allocated using node info.
- Check if the type of f2fs_summary related to nid in SSA is NODE.
- Update the corresponding bit in nat_area_bitmap.
- Update the corresponding bit in sit_area_bitmap.
- Set the corresponding bit in main_area_bitmap to 1.
- Then, read node block. According to its attribute, explore
inode/direct node/indirect node/double indirect node
recursively.
- If it is an inode block, we also check its xattr and hard link.
2. DATA
- Check if the type of f2fs_summary related to nid in SSA is DATA.
- Set the corresponding bits of sit_area_bitmap and
main_area_bitmap to visited
- If it is a dentry block, traverse each dentries that may be
regular
file or directory. At this time, it will check inode block again.
Finally, we verify whether
- every nat_area_bitmap is visited
- any unreachable hard link exists
- values of sit_area_bitmap and main_area_bitmap are identical
- total_valid_block_count/node_count/inode_count are correct

Usage:
o fsck.f2fs
# fsck.f2fs /dev/sdx
options:
-d debug level [default:0]
o dump.f2fs
# dump.f2fs -i [ino] /dev/sdx
# dump.f2fs -s 0~-1 /dev/sdx (SIT dump)
# dump.f2fs -a 0~-1 /dev/sdx (SSA dump)
options:
-d debug level [default:0]
-i inode no (hex)
-s [SIT dump segno from #1~#2 (decimal), for all 0~-1]
-a [SSA dump segno from #1~#2 (decimal), for all 0~-1]

Note: To use dump.f2fs, please run make install or ln -s fsck.f2fs
dump.f2fs

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Signed-off-by: Byoung Geun Kim <bgbg.kim@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
9799d6364dc93e1fd259d812d4a50ed984a6456b 03-Apr-2013 Mike Fleetwood <mike.fleetwood@googlemail.com> mkfs: handle labels longer than 16 characters

Mkfs copies labels up to 512 characters into a the 16 character buffer
config.vol_label corrupting memory afterwards and causing a core dump.

# mkfs.f2fs -l aaaaaaaaaabbbbbbbbbbcccccccccc /dev/sda12

F2FS-tools: mkfs.f2fs Ver: 1.1.0 (2013-03-08)

Info: Label = aaaaaaaaaabbbbbbbbbbcccccccccc
Info: sector size = 512
Info: total sectors = 2097152 (in 512bytes)
Info: zone aligned segment0 blkaddr: 256
Segmentation fault (core dumped)

Make config.vol_label a pointer to the label in argv, rather than
copying it into a too small buffer.

Signed-off-by: Mike Fleetwood <mike.fleetwood@googlemail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
089d0e7202147a7e81796c38e2d704c144403fef 03-Apr-2013 Mike Fleetwood <mike.fleetwood@googlemail.com> mkfs: default to blank label

Signed-off-by: Mike Fleetwood <mike.fleetwood@googlemail.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
8d3802b257de83686a327c8e4fa84fba32b563ff 31-Mar-2013 Namjae Jeon <namjae.jeon@samsung.com> mkfs: fix to avoid format of device when already mounted

In case of embedded devices, where /etc/ is mounted as 'read-only'.
We donot have the /etc/mtab file. So, checking if the device is already
mounted from this file is not sufficient.
Try to read /proc/mounts in case of failure from /etc/mtab.

Issue logs:
/dev/sdb4 /mnt vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp437,
iocharset=ascii,errors=remount-ro 0 0

Here device - sb4 is already mounted.
But, when trying to format using mkfs.f2fs

F2FS-tools: Ver: 1.1.0 (2013-01-14)
Info: sector size = 512
Info: total sectors = 13108784 (in 512bytes)
WARN: Align start sector number in a unit of pages
i.e., start sector: 2542124, ofs:4 (sectors per page: 8)
Info: zone aligned segment0 blkaddr: 186
Info: This device doesn't support TRIM
Info: format successful

After Change:

F2FS-tools: Ver: 1.1.0 (2013-01-14)
Error: /dev/sdb4 is already mounted

Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Amit Sahrawat <a.sahrawat@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
5043dffbd1d2b89c71966dde31780b0ca313b5c9 12-Feb-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> build: clean up the base functions

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c
e69e4378500b836863dfb7f6e88e39935f23ae80 25-Jan-2013 Jaegeuk Kim <jaegeuk.kim@samsung.com> build: make several base functions as a library

Let's make a library and relocate functions for other tools like fsck.f2fs.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
/external/f2fs-tools/lib/libf2fs.c