mbox series

[v2,0/3] tst_device.c: Handle Android path for backing device

Message ID 20230320235108.2058967-1-edliaw@google.com
Headers show
Series tst_device.c: Handle Android path for backing device | expand

Message

Edward Liaw March 20, 2023, 11:51 p.m. UTC
e1b1ae66b240 ("tst_find_backing_dev: Get dev name from
/sys/dev/block/*/uevent") added a hardcoded path to check for the
backing device in /dev.  On Android, it needs to check /dev/block.

The set_dev_path function was renamed to set_dev_loop_path and its
return value was changed from 1 on success to 0 on success to be more
consistent with other functions.  A check was added to
tst_find_free_loopdev in the event that the loop device is not ready
yet, which appears to happen occasionally on Android.

v1->v2:
Changed the function signature of tst_find_backing_dev to add the length
of the path string.  Updated all references for this function to include
the added parameter.

Edward Liaw (3):
  tst_device.c: Use PATH_MAX more consistently
  set_dev_loop_path: Refactor set_dev_path and check return value
  tst_find_backing_dev: Also check /dev/block/ for backing device

 doc/c-test-api.txt                            |  2 +-
 include/tst_device.h                          |  3 +-
 lib/newlib_tests/tst_device.c                 |  2 +-
 lib/tst_device.c                              | 59 ++++++++++++-------
 .../kernel/syscalls/ioctl/ioctl_loop05.c      |  2 +-
 5 files changed, 42 insertions(+), 26 deletions(-)

Comments

Petr Vorel March 23, 2023, 8:24 a.m. UTC | #1
> e1b1ae66b240 ("tst_find_backing_dev: Get dev name from
> /sys/dev/block/*/uevent") added a hardcoded path to check for the
> backing device in /dev.  On Android, it needs to check /dev/block.

Cc the original autor.

I guess both problems were unnoticed because they are kind of corner cases
(minimal Linux and Android). But sure we're happily accept patches to fix them.

Kind regards,
Petr

> The set_dev_path function was renamed to set_dev_loop_path and its
> return value was changed from 1 on success to 0 on success to be more
> consistent with other functions.  A check was added to
> tst_find_free_loopdev in the event that the loop device is not ready
> yet, which appears to happen occasionally on Android.

> v1->v2:
> Changed the function signature of tst_find_backing_dev to add the length
> of the path string.  Updated all references for this function to include
> the added parameter.

> Edward Liaw (3):
>   tst_device.c: Use PATH_MAX more consistently
>   set_dev_loop_path: Refactor set_dev_path and check return value
>   tst_find_backing_dev: Also check /dev/block/ for backing device

>  doc/c-test-api.txt                            |  2 +-
>  include/tst_device.h                          |  3 +-
>  lib/newlib_tests/tst_device.c                 |  2 +-
>  lib/tst_device.c                              | 59 ++++++++++++-------
>  .../kernel/syscalls/ioctl/ioctl_loop05.c      |  2 +-
>  5 files changed, 42 insertions(+), 26 deletions(-)