Quoting S.Çağlar Onur (cag...@10ur.org):
> creat() is equivalent to open() with flags equal to O_CREAT|O_WRONLY|O_TRUNC

Hi,

I'm confused - what is redundant in the use of creat()?  If there is an
improvement here then I don't understand what it is.  Otherwise I'd
argue creat() is more concise and clearer about its intent.

> Signed-off-by: S.Çağlar Onur <cag...@10ur.org>
> ---
>  src/lxc/bdev.c      | 2 +-
>  src/lxc/conf.c      | 6 +++---
>  src/lxc/lxc_start.c | 2 +-
>  3 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/src/lxc/bdev.c b/src/lxc/bdev.c
> index c7e5e5e..0194ccd 100644
> --- a/src/lxc/bdev.c
> +++ b/src/lxc/bdev.c
> @@ -1594,7 +1594,7 @@ static int do_loop_create(const char *path, unsigned 
> long size, const char *fsty
>       int fd, ret;
>       // create the new loopback file.
>       process_lock();
> -     fd = creat(path, S_IRUSR|S_IWUSR);
> +     fd = open(path, O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR|S_IWUSR);
>       process_unlock();
>       if (fd < 0)
>               return -1;
> diff --git a/src/lxc/conf.c b/src/lxc/conf.c
> index a756731..dc34568 100644
> --- a/src/lxc/conf.c
> +++ b/src/lxc/conf.c
> @@ -909,7 +909,7 @@ static int setup_tty(const struct lxc_rootfs *rootfs,
>                               return -1;
>                       }
>                       process_lock();
> -                     ret = creat(lxcpath, 0660);
> +                     ret = open(lxcpath, O_CREAT|O_WRONLY|O_TRUNC, 0660);
>                       process_unlock();
>                       if (ret==-1 && errno != EEXIST) {
>                               SYSERROR("error creating %s\n", lxcpath);
> @@ -945,7 +945,7 @@ static int setup_tty(const struct lxc_rootfs *rootfs,
>                       /* If we populated /dev, then we need to create 
> /dev/ttyN */
>                       if (access(path, F_OK)) {
>                               process_lock();
> -                             ret = creat(path, 0660);
> +                             ret = open(path, O_CREAT|O_WRONLY|O_TRUNC, 
> 0660);
>                               process_unlock();
>                               if (ret==-1) {
>                                       SYSERROR("error creating %s\n", path);
> @@ -1546,7 +1546,7 @@ static int setup_ttydir_console(const struct lxc_rootfs 
> *rootfs,
>       }
>  
>       process_lock();
> -     ret = creat(lxcpath, 0660);
> +     ret = open(lxcpath, O_CREAT|O_WRONLY|O_TRUNC, 0660);
>       process_unlock();
>       if (ret==-1 && errno != EEXIST) {
>               SYSERROR("error %d creating %s\n", errno, lxcpath);
> diff --git a/src/lxc/lxc_start.c b/src/lxc/lxc_start.c
> index add2542..f8fc6d4 100644
> --- a/src/lxc/lxc_start.c
> +++ b/src/lxc/lxc_start.c
> @@ -62,7 +62,7 @@ static int ensure_path(char **confpath, const char *path)
>  
>       if (path) {
>               if (access(path, W_OK)) {
> -                     fd = creat(path, 0600);
> +                     fd = open(path, O_CREAT|O_WRONLY|O_TRUNC, 0600);
>                       if (fd < 0 && errno != EEXIST) {
>                               SYSERROR("failed to create '%s'", path);
>                               goto err;
> -- 
> 1.8.3.2
> 
> 
> ------------------------------------------------------------------------------
> November Webinars for C, C++, Fortran Developers
> Accelerate application performance with scalable programming models. Explore
> techniques for threading, error checking, porting, and tuning. Get the most 
> from the latest Intel processors and coprocessors. See abstracts and register
> http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
> _______________________________________________
> Lxc-devel mailing list
> Lxc-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-devel

------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to