15 Jan, 2021
4 commits
-
Bug: 177234986
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I79b4273a050b8695b5810abd618fcb4437a05ce5 -
Bug: 177280103
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I24b0d4bf5353834900f868f65e7510529867b615 -
Bug: 177075428
Test: incfs_test passes
atest GtsIncrementalInstallTestCases has only 8 failures
Signed-off-by: Paul Lawrence
Change-Id: I73accfc1982aec1cd7947996c25a23e4a97cfdac -
.blocks_writen file handling was missing some operations:
SELinux xattr handlers, safety checks for it being a
pseudo file etc.This CL generalizes pseudo file handling so that all such
files work in a generic way and next time it should be
easier to add all operations at once.Bug: 175823975
Test: incfs_tests pass
Change-Id: Id2b1936018c81c62c8ab4cdbaa8827e2679b513f
Signed-off-by: Yurii Zubrytskyi
Signed-off-by: Paul Lawrence
11 Dec, 2020
4 commits
-
Bug: 174692664
Test: incfs_test passes, incremental installs work with ag/13082306
Signed-off-by: Paul LawrenceChange-Id: Ib1c924bbaff759f58f7d83bad8e23d7224ba7ed9
-
Bug: 174495152
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: Id76d2fec83a0eb7b70ad85f1fac81bf319563a66 -
Roll report_uid feature flag into v2 feature flag
Bug: 174478527
Test: Feature flag present on boot
Signed-off-by: Paul Lawrence
Change-Id: I41ee9715904560004e25cc83a5ccc1eb1bdd2b1f -
Bug: 174478527
Test: Boot, look for flag
Signed-off-by: Paul Lawrence
Change-Id: Ib573b5420143bd177b50311a3e8cc3a7e8541b96
06 Nov, 2020
1 commit
-
Bug: 160634783
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: Iba28b535d2d5183859ffc721204b036434132d9b
05 Nov, 2020
2 commits
-
Rmove bc_mutex used to protect metadata chain, now that is only
read at file open time
Remove certain unused mount optionsBug: 172482559
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: Id70e5a5d08e5de79f391e19ea97e356f39a3ed51 -
report_uid was not being initialized, leading to random behavior
Bug: 172480517
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: Ib121136d6f570f99e9060bdde9aa43ff2995514e
29 Sep, 2020
2 commits
-
Found by sparse:
fs/incfs/format.c:416:21: warning: incorrect type in assignment (different base types)
fs/incfs/format.c:416:21: expected restricted __le32 [assigned] [usertype] fh_flags
fs/incfs/format.c:416:21: got intfs/incfs/pseudo_files.c:925:25: warning: incorrect type in argument 4 (different base types)
fs/incfs/pseudo_files.c:925:25: expected unsigned long long [usertype] size
fs/incfs/pseudo_files.c:925:25: got restricted __le64 [addressable] [assigned] [usertype] size_attr_value
fs/incfs/pseudo_files.c:925:42: warning: incorrect type in argument 5 (different base types)
fs/incfs/pseudo_files.c:925:42: expected unsigned long long [usertype] offset
fs/incfs/pseudo_files.c:925:42: got restricted __le64 [usertype]
fs/incfs/pseudo_files.c:1111:24: warning: incorrect type in return expression (different base types)
fs/incfs/pseudo_files.c:1111:24: expected restricted __poll_t
fs/incfs/pseudo_files.c:1111:24: got intBug: 169258814
Fixes: Sparse errors introduced by 3f4938108a7ad, 8334d69e65f60 and cb776f45766a6
Test: incfs_test passes, sparse shows no errors
Signed-off-by: Paul Lawrence
Change-Id: I48596e9521069fc77bf38c345a568529d61c77dc -
Bug: 169056129
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I8cad9ee4095123bafba33abb65bbb339ba6ff8b5
21 Sep, 2020
1 commit
-
Bug: 165929150
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: Ib6952391aea76bf0318cbad8da7a1276f8f9e8ba
18 Sep, 2020
3 commits
-
Fix a compiler warning:
fs/incfs/data_mgmt.c: In function ‘incfs_get_filled_blocks’:
fs/incfs/data_mgmt.c:768:6: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else]
768 | if (is_data_block_present(&dfb))
| ^Fixes: 9cbdd375f644 ("ANDROID: Incremental fs: Fix filled block count from get filled blocks")
Change-Id: I5a331442155443c6f67e33f1bbaf5deae84a644b
Signed-off-by: Eric Biggers -
'error' isn't initialized before being returned.
Fixes: d4d1163e5358 ("ANDROID: Incremental fs: Add INCFS_IOC_GET_BLOCK_COUNT")
Change-Id: I3082ac4a3f9d8632080a8e8c9221fda25ef152a0
Signed-off-by: Eric Biggers -
Bug: 165929150
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I8845adcafcc3a3f01730e8b5534fb25ea3d551db
17 Sep, 2020
2 commits
-
Bug: 166638631
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I0061a855ec563de8df40ba0b35292e99be33c6c0 -
Bug: 166638631
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: Ia7a8cab87688fc401f0719df84fe79ea75887692
16 Sep, 2020
1 commit
-
Bug: 166638631
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I3b4f61bf881dccd50f05f42326370421945b68db
11 Sep, 2020
4 commits
-
Bug: 166638631
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I98e1efb9913d7c920ecaa76d29c8cf36219ff930 -
Bug: 166638631
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: Ia6061f8985db85a66fce0f2f09e1305a21753dd6 -
Bug: 166638631
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I0f753929f6b5b884f829cd3e6e8d4e6f94ab3a46 -
Bug: 162856396
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I942582218cdc7741bcff2f264960b76cdfa1bb36
27 Aug, 2020
1 commit
-
Also fixed two bugs in the process:
is_pseudo_filename was not previously checking for .log, so an attempt
to create a .log would succeed.All ioctls could be called on all files. ioctls now set on the correct
files.Bug: 162856396
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: I3f1e87d018836f51a97897880dd70181db4f7169
20 Aug, 2020
1 commit
-
Test: incfs_test passes
Bug: 160634477
Signed-off-by: Paul Lawrence
Change-Id: Iaf817cf1f7ccd0109b2114b425ea7f26718345ab
19 Aug, 2020
2 commits
-
Bug: 160634482
Test: incfs_test passes
Signed-off-by: Paul Lawrence
Change-Id: Ic2ac8dfccd60f6c9c72c38bf323997fce7546c1c -
It's still magic number issue which cannot be compatible with
arm-32 platform, although we try to fix it in Iae4f3877444
("ANDROID: Incremental fs: magic number compatible 32-bit"),
there is still incompatible scenario, such as: get_incfs_node(),
it will return NULL then kernel exception will be trigger because
of NULL pointer access. (inode_set() -> get_incfs_node(), then used
node->xxx directly)We change magic number directly, otherwise, we must fix above issues one by one.
Bug: 159772865
Fixes: Iae4f3877444("ANDROID: Incremental fs: magic number compatible 32-bit")
Signed-off-by: Peng Zhou
Signed-off-by: mtk81325
Change-Id: I71f279c1bb55ea296ab33a47644f30df4a9f60a6
13 Aug, 2020
1 commit
-
Add additional check to verify dentry is hashed after vfs_mkdir()
is successful.Bug: 148423333
Test: kernel seftest - incfs_test, manual test removing .index when
mountedSigned-off-by: Akilesh Kailash
Change-Id: I7d2d71d480db4f02b7f3a347b5734c6643843594
05 Aug, 2020
1 commit
-
Test: incfs_test on a virtio 9p drive. Note test 6 fails still,
but I think this is a result of caching directory entries over a
network file system.
Bug: 161802292
Signed-off-by: Paul Lawrence
Change-Id: I6986fb3e9b403181cf81024046f394960caf4620
28 Jul, 2020
4 commits
-
Use Read-Write locks for reading/writing segment in blockmap.
This should allow parallel reads when there are
multiple reads within same segment.A small optimization in pending_reads_read(). Since
incfs_collect_pending_reads() already iterate to
populate buffer, new_max_sn - highest serial number
among all the pending read buffer can be done in the same
loop instead of looping again in pending_reads_read().Bug: 161566104
Test: kernel selftest - incfs_test and incfs_perfSigned-off-by: Akilesh Kailash
Change-Id: Id00376b0e4cb8c0c0bc8264cdddd6f38c4aa85f0 -
Bug: 162260581
Test: builds with defconfig
Signed-off-by: Paul Lawrence
Change-Id: I743fa7a989f5a464f755a22b6a03299fb462e74c -
Bug: 162255528
Test: incfs_test passes with fewer annoying debug messages
Signed-off-by: Paul Lawrence
Change-Id: Ib347d3d5dd8a3c5545a0760fc674147211aa8c9d -
Fix of bug 161565969 added EBADF when backing path doesn't
exist. However, .log and .pending reads doesn't have
backing path causing incfs_test to fail.Bug: 162243475
Test: incfs_test on QEMU passesSigned-off-by: Akilesh Kailash
Change-Id: Iba303bbc42b431fe4a4fbacb40584faaff4b14b7
25 Jul, 2020
3 commits
-
1: Invoke kunmap(page) in error path
2: Validate NULL checks at few places in the code.
3: path_put() should not be invoked if path entry is null.
Although path_put() checks for NULL condition internally,
caller should gracefully handle it.Bug: 161565969
Test: kernel selftest - incfs_test, incfs_perfSigned-off-by: Akilesh Kailash
Change-Id: Ie4dfaaba4b09f4798d492f8a25dd9dcc8da89e51 -
Use RCU locks instead of pending_reads_mutex.
Current mutex is taking lock on entire mount_info
structure which seems a heavy operation.Following fields of mount_info structure
are protected through spinlocks for multiple
writers and are RCU safe for readers:- reads_list_head
- mi_pending_reads_count
- mi_last_pending_read_number
- data_file_segment.reads_list_headWe could probably use atomic_inc/atomic_dec for
mi_pending_reads_count and mi_last_pending_read_number
which can futher cut down spin_locks at couple of more places,
thereby only the list addition and removal can protected
by spinlock. This CL doesn't address it.Bug: 161565969
Test: kernel selftest incfs_test and incfs_perfSigned-off-by: Akilesh Kailash
Change-Id: Iad7439657016764dce25d64c8b3df69b930452bc -
Incfs's magic is bigger than 32-bit, but super block structure's
s_magic is unsigned long which is 32-bit in ARM 32-bit platform.Do the cast for magic!
Bug: 159772865
Signed-off-by: Peng Zhou
Signed-off-by: mtk81325
Signed-off-by: Paul Lawrence
Change-Id: Iae4f38774440c7d6ae44529d4f0f8ebb2ec5dacc
25 Jun, 2020
1 commit
-
READ/WRITE_ONCE are for atomic data types, not for structures. Fix this
up by doing a memcpy to make it explicit just how messy this copy is...This fixes a build error on 5.8-rc1, as things are more strict, odds are
it's also wrong in other kernel versions as well...Cc: Daniel Mentz
Cc: Paul Lawrence
Signed-off-by: Greg Kroah-Hartman
Change-Id: I7ecd3d05bd94c936dd5e69c63028458786f37a78
09 Jun, 2020
1 commit
-
Incremental fs appears to not depend on pkcs7 anymore.
Bug: 151584760
Signed-off-by: Daniel Mentz
Change-Id: I809b4b5651d84ca70fd8bf837765e33df8547418
Signed-off-by: Paul Lawrence
08 Jun, 2020
1 commit
-
Test: incfs_test passes
Bug: 158242405
Reported-by: kbuild test robot
Signed-off-by: Paul Lawrence
Change-Id: Ib53e867fb2681489f720f6255354c1bce1d33997