~canonical-kernel-team/+git/ltp:ag/fix-fs-fill

Last commit made on 2023-02-15
Get this branch:
git clone -b ag/fix-fs-fill https://git.launchpad.net/~canonical-kernel-team/+git/ltp
Members of Canonical Kernel Team can upload to this branch. Log in for directions.

Branch merges

Branch information

Name:
ag/fix-fs-fill
Repository:
lp:~canonical-kernel-team/+git/ltp

Recent commits

5be52e8... by Andrei Gherzan

fs_fill: Fix test when running on a 256 CPU+ machine

LP: #1973848

The fs_fill test runs a fill test on all the supported filesystems. One
of them being vfat. This filesystem is configured dynamically or through
flags/arguments for its file allocation table type (12/16/32).

The size of the test device (which is a loop-mounted fs) is 300MB. When
not instructed, mkfs will "automatically select between 12, 16 and 32
bit, whatever fits better for the filesystem size"[1]. In the case of
a 300Mb that would end up as FAT16.

This is linked with another configuration that is the actual impact on
this issue: the maximum number of directories in the root of the
filesystem. FAT12 and FAT16 use a special system region: "Root Directory
Region". And by default (there is also an argument to configure this at
mkfs-time) this ends up being 256 when no custom arguments are provided.

On the other hand, the test sets up the filesystem with a
"tst_ncpus_conf + 2" number of directories in the test filesystem's root
which can break the limit explained above on systems with a number of
CPUs that would amount above the limit.

This change addresses this situation by using a subdirectory in the test
filesystem which is not subject to this limit.

Signed-off-by: Andrei Gherzan <email address hidden>

ed9e347... by Po-Hsu Lin

UBUNTU: SAUCE: Upstream head SHA1 ac1a3e40c5

Rebased on top of upstream head commit:
ac1a3e40c5 controllers: update cgroup_regression_test to use newer cgroup lib

Update Note:
  * Thanks to Luke, this update fixes the following issues:
    - LP: #1980318 ubuntu_ltp_controllers memcg_subgroup_charge /
      memcg_max_usage_in_bytes / memcg_usage_in_bytes starts failing
      with LTP20220527 (Invalid argument)
    - LP: #1949532 ubuntu_ltp_controllers tests failing on Impish
      (already mounted or mount point busy)
  * This update is known to have the following issues:
    - LP: #1983659 cgroup / memcg_control from ubuntu_ltp_controllers failed on F
    - LP: #1983533 ubuntu_ltp/cve-2021-4034 failed on F (new test case)
    - LP: #1983989 ubuntu_ltp/inotify12 failed on B/F (new test case)

Signed-off-by: Po-Hsu Lin <email address hidden>

ac1a3e4... by Luke Nowakowski-Krijger

controllers: update cgroup_regression_test to use newer cgroup lib

The older function in the cgroup lib 'get_cgroup_mountpoint' has been
removed, so instead replace it with its old functionaility to get
mountpoint.

Also use the newer cgroup lib require operation to mount and cleanup a
cpu controller.

Reviewed-by: Li Wang <email address hidden>
Reviewed-by: Richard Palethorpe <email address hidden>
Reviewed-by: Petr Vorel <email address hidden>
Signed-off-by: Luke Nowakowski-Krijger <email address hidden>

ae4448c... by Luke Nowakowski-Krijger

controllers: update cpuset_regression_test.sh to use newer cgroup lib

Update the test to use the newer cgroup lib which handles mounting for
v1 and v2 controllers enabling them both to be tested and cleaning up
the mounting and cleanup process.

Reviewed-by: Li Wang <email address hidden>
Reviewed-by: Richard Palethorpe <email address hidden>
Reviewed-by: Petr Vorel <email address hidden>
Signed-off-by: Luke Nowakowski-Krijger <email address hidden>

dd2b901... by Luke Nowakowski-Krijger

controllers: Update pids.sh to use newer cgroup lib

Updated to use the newer cgroup_lib to make mounting and cleanup
nicer.

Reviewed-by: Li Wang <email address hidden>
Reviewed-by: Richard Palethorpe <email address hidden>
Reviewed-by: Petr Vorel <email address hidden>
Signed-off-by: Luke Nowakowski-Krijger <email address hidden>

a5f1baa... by Luke Nowakowski-Krijger

controllers: update memcg/functional to use newer cgroup lib

Update memcg_lib.sh to uses the newer cgroup lib to cleanup the mounting
and checking of the memory controller.

There are still some tests that make sense for v2 and should be modified
in a future patch, but since most of the tests are testing specific v1
memory controller features lets just skip it for now if v2 is mounted.

Reviewed-by: Li Wang <email address hidden>
Reviewed-by: Richard Palethorpe <email address hidden>
Reviewed-by: Petr Vorel <email address hidden>
Signed-off-by: Luke Nowakowski-Krijger <email address hidden>

5a40919... by Luke Nowakowski-Krijger

controllers: Update memcg_stress_test to use newer cgroup lib

Update the test to use the newer cgroup lib which enables the testing of
both v1 and v2 memory controllers and makes the setup and cleanup much
simpler.

Reviewed-by: Li Wang <email address hidden>
Reviewed-by: Richard Palethorpe <email address hidden>
Reviewed-by: Petr Vorel <email address hidden>
Signed-off-by: Luke Nowakowski-Krijger <email address hidden>
[ pvorel: escape > in ROD ]
Signed-off-by: Petr Vorel <email address hidden>

4d3ad2e... by Luke Nowakowski-Krijger

controllers: Update memcg/regression/* to new test and cgroup lib

Update the tests in memcg/regression/* to use the new test lib and the
newer cgroup lib to enable testing when either v1 or v2 memory
controller is mounted. Only some tests still made sense to be testing
with the v2 memory controller, otherwise they were skipped.

Also updated to the newer SPDX license identifier.

Reviewed-by: Li Wang <email address hidden>
Reviewed-by: Richard Palethorpe <email address hidden>
Reviewed-by: Petr Vorel <email address hidden>
Signed-off-by: Luke Nowakowski-Krijger <email address hidden>
[ pvorel: escape > in ROD ]
Signed-off-by: Petr Vorel <email address hidden>

a77b65b... by Luke Nowakowski-Krijger

controllers: Update memcg_control_test to newer test lib and cgroup lib

Update memcg_control_test to use the newer test lib and to use the newer
cgroup lib which enables the memory v1 and v2 controller to be tested.

Also updated to newer SPDX license identifier.

Reviewed-by: Li Wang <email address hidden>
Reviewed-by: Richard Palethorpe <email address hidden>
Reviewed-by: Petr Vorel <email address hidden>
Signed-off-by: Luke Nowakowski-Krijger <email address hidden>
[ pvorel: escape > in ROD ]
Signed-off-by: Petr Vorel <email address hidden>

c35298b... by Luke Nowakowski-Krijger

controllers: Update cgroup_fj_* to use newer cgroup lib and test lib

Update the cgroup_fj_* tests to use the newer test lib and to use the
updated version of the cgroup lib which handles mounting and unmounting
for both v1 and v2 controllers.

The tests were modified to accommodate testing the v2 controller
interfaces where it still made sense, and in other places tests were
skipped as they were testing using specific parts of the v1 interface
that doesn't exist on v2 controllers.

Also updated the licensing info at the beginning of the file with SPDX
license identifier.

Reviewed-by: Li Wang <email address hidden>
Reviewed-by: Richard Palethorpe <email address hidden>
Reviewed-by: Petr Vorel <email address hidden>
Signed-off-by: Luke Nowakowski-Krijger <email address hidden>