Hi!
> +int tst_fill_file(const char *path, char pattern, size_t bs, size_t bcount)
> +{
> +     int fd, counter;
> +     char *buf;
> +
> +     fd = open(path, O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR|S_IWUSR);
> +     if (fd < 0)
> +             return -1;

There are spaces before the tabs in the return -1; line.

> +     /* Filling a memory buffer with provided pattern */
> +     buf = malloc(bs);
> +     if (buf == NULL) { 
> +             close(fd);
> +
> +             return -1;
> +     }
> +
> +     for (counter = 0; counter < bs; counter++)
> +             buf[counter] = pattern;
> +
> +     /* Filling the file */
> +     for (counter = 0; counter < bcount; counter++) 
> +             if (write(fd, buf, bs) != bs) {
> +                     free(buf);
> +                     close(fd);

What about unlink(path)?

I known that this is most likely being cleaned up in the test cleanup on
tst_rmkdir() but doing it here as well will not harm.

> +                     return -1;
> +             }

The LKML conding style prefers curly brackets around blocks that are
spawns over several lines.

> +
> +     free(buf);
> +     if (close(fd) < 0)
> +             return -1;
> +
> +     return 0;
> +}

There are also some trailing whitespaces. The checkpatch.pl (script
shipped with linux kernel) can find and report these.

> diff --git a/testcases/kernel/syscalls/swapon/Makefile 
> b/testcases/kernel/syscalls/swapon/Makefile
> index 7ff50f1..a272224 100644
> --- a/testcases/kernel/syscalls/swapon/Makefile
> +++ b/testcases/kernel/syscalls/swapon/Makefile
> @@ -25,4 +25,9 @@ top_srcdir          ?= ../../../..
>  
>  include $(top_srcdir)/include/mk/testcases.mk
>  
> +FILTER_OUT_MAKE_TARGETS         := libswapon
> +
>  include $(top_srcdir)/include/mk/generic_leaf_target.mk
> +
> +$(MAKE_TARGETS): %: %.o libswapon.o
> +
> diff --git a/testcases/kernel/syscalls/swapon/libswapon.c 
> b/testcases/kernel/syscalls/swapon/libswapon.c
> new file mode 100644
> index 0000000..8add3e6
> --- /dev/null
> +++ b/testcases/kernel/syscalls/swapon/libswapon.c
> @@ -0,0 +1,54 @@
> +/*
> + * Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it would be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write the Free Software Foundation,
> + * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
> + *
> + * Author: Stanislav Kholmanskikh <[email protected]>
> + *
> + */
> +
> +#include "test.h"
> +#include "libswapon.h"
> +
> +/* 
> + * Make a swap file
> + */
> +void make_swapfile(void (cleanup)(void), char *swapfile)
> +{
> +     char cmd_buffer[256];
> +
> +     if (!tst_cwd_has_free(sysconf(_SC_PAGESIZE)*10)) {
> +             tst_brkm(TBROK, cleanup,
> +                     "Insufficient disk space to create swap file");
> +     }
> +
> +     /* create file */
> +     if (tst_fill_file(swapfile, 0, 
> +                     sysconf(_SC_PAGESIZE), 10) != 0) {
> +             tst_brkm(TBROK, cleanup, "Failed to create swapfile");
> +     }
> +
> +     /* make the file swapfile */
> +     if (snprintf(cmd_buffer, sizeof(cmd_buffer),
> +                     "mkswap %s > /dev/null 2>&1", swapfile) < 0) {
> +             tst_brkm(TBROK, cleanup, 
> +                     "snprintf() failed to create mkswap command string");
> +     }
> +
> +     if (system(cmd_buffer) != 0) {
> +             tst_brkm(TBROK, cleanup, "Failed to make swapfile %s via 
> command %s",
> +                     swapfile, cmd_buffer);
> +     }

What about using tst_run_cmd() instead?

The only difference would be not being able to redirect the output of
the command (as this is done by shell). But we can modify the
tst_run_cmd to redirect stdout and stderr if needed.

> +}

The rest of the patch looks good but there are spaces before tabs and
trailing whitespaces. Please clean these up and resend.

-- 
Cyril Hrubis
[email protected]

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to