[LTP] [PATCH v6 3/3] syscalls/copy_file_range02: increase coverage and remove EXDEV test

Amir Goldstein amir73il@gmail.com
Thu Jul 25 10:08:00 CEST 2019


On Thu, Jul 25, 2019 at 8:44 AM Yang Xu <xuyang2018.jy@cn.fujitsu.com> wrote:
>
> on 2019/07/25 13:24, Amir Goldstein wrote:
>
> > On Thu, Jul 25, 2019 at 8:02 AM Yang Xu<xuyang2018.jy@cn.fujitsu.com>  wrote:
> >>
> >>
> >>   static void setup(void)
> >>   {
> >>          syscall_info();
> >> +       char dev_path[1024];
> > Why? What is the point of filling this string if you're not going to
> > use it. That's exactly what tst_find_free_loopdev(NULL, 0) is for.
> > I don't think you understood Cyril's comment about the API
> > correctly.
> > He meant he rather keep the *option* in the API to fill out the
> > suggested loopdev file name. Not that you *have* to fill it.
> >
> > Thanks,
> > Amir.
> >
> Hi Amir
>
>   I think you don't see the whole patch.
>
>   I use this dev_path as below:
>
>   fd_blkdev = SAFE_OPEN(dev_path, O_RDWR, 0600);
>
> on v5 patch, I use  tst_find_free_loopdev(NULL, 0) and create a customized loop dev named "file_block" by mknod .
>
> But why we don't use a path directly filled by tst_find_free_loopdev(dev_path, len)? It will not change lib internal state or overwirte data.
>
> I only use a standard loop device as same as char device use "/dev/null".
>

Right, sorry, missed that.
It is generally better not to define 1024 array on the stack.
Most LTP tests define test path vars as static char arrays in top of test file.


>
>
> >
> >>          if (access(FILE_DIR_PATH, F_OK) == -1)
> >>                  SAFE_MKDIR(FILE_DIR_PATH, 0777);
> >> +       /*
> >> +        * call tst_find_free_loopdev(), avoid overwriting its
> >> +        * content on used loopdev.
> >> +        */
> >> +       loop_devn = tst_find_free_loopdev(dev_path, sizeof(dev_path));
> >> +
> >> +       SAFE_MKNOD(FILE_FIFO, S_IFIFO | 0777, 0);
> >>
> >>          fd_src    = SAFE_OPEN(FILE_SRC_PATH, O_RDWR | O_CREAT, 0664);
> >>          fd_dest   = SAFE_OPEN(FILE_DEST_PATH, O_RDWR | O_CREAT, 0664);
> >>          fd_rdonly = SAFE_OPEN(FILE_RDONL_PATH, O_RDONLY | O_CREAT, 0664);
> >> -       fd_mnted  = SAFE_OPEN(FILE_MNTED_PATH, O_RDWR | O_CREAT, 0664);
> >>          fd_dir    = SAFE_OPEN(FILE_DIR_PATH, O_DIRECTORY);
> >>          fd_closed = -1;
> >>          fd_append = SAFE_OPEN(FILE_DEST_PATH,
> >>                          O_RDWR | O_CREAT | O_APPEND, 0664);
> >> +       fd_immutable = SAFE_OPEN(FILE_IMMUTABLE_PATH, O_RDWR | O_CREAT, 0664);
> >> +       fd_swapfile = SAFE_OPEN(FILE_SWAP_PATH, O_RDWR | O_CREAT, 0600);
> >> +
> >> +       if (loop_devn == -1)
> >> +               fd_blkdev = SAFE_OPEN(dev_path, O_RDWR, 0600);
> >> +
>        I use the dev_path string.

(loop_devn != 1) ??

Thanks,
Amir.


More information about the ltp mailing list