[Libguestfs] [PATCH v7 13/13] daemon: Link guestfsd with libutils.

Pino Toscano ptoscano at redhat.com
Mon Jun 19 16:18:10 UTC 2017


On Monday, 19 June 2017 15:31:29 CEST Richard W.M. Jones wrote:
> After the previous refactoring, we are able to link the daemon to
> common/utils, and also remove some of the "duplicate" functions that
> the daemon carried ("duplicate" in quotes because they were often not
> exact duplicates).
> 
> Also this removes the duplicate reimplementation of (most) cleanup
> functions in the daemon, since those are provided by libutils now.
> 
> It also allows us in future (but not in this commit) to move utility
> functions from the daemon into libutils.
> ---
>  daemon/Makefile.am   |  8 +++++--
>  daemon/augeas.c      |  2 +-
>  daemon/btrfs.c       | 18 +++++++--------
>  daemon/cleanups.c    | 49 +---------------------------------------
>  daemon/cleanups.h    | 51 -----------------------------------------
>  daemon/daemon.h      | 31 ++++++++++++++++---------
>  daemon/debug.c       |  4 ++--
>  daemon/echo-daemon.c |  2 +-
>  daemon/guestfsd.c    | 64 ----------------------------------------------------
>  daemon/ldm.c         |  2 +-
>  daemon/lvm.c         |  4 ++--
>  daemon/md.c          |  8 ++++---
>  daemon/stat.c        |  2 +-
>  docs/C_SOURCE_FILES  |  1 -
>  generator/daemon.ml  |  8 +++----
>  15 files changed, 53 insertions(+), 201 deletions(-)
> 
> diff --git a/daemon/Makefile.am b/daemon/Makefile.am
> index 0d3dde516..db19594b8 100644
> --- a/daemon/Makefile.am
> +++ b/daemon/Makefile.am
> @@ -49,6 +49,8 @@ endif
>  guestfsd_SOURCES = \
>  	../common/errnostring/errnostring.h \
>  	../common/protocol/guestfs_protocol.h \
> +	../common/utils/cleanups.h \
> +	../common/utils/utils.h \

Should this be guestfs-utils.h?

> diff --git a/daemon/cleanups.h b/daemon/cleanups.h
> deleted file mode 100644
> index a791244cb..000000000
> --- a/daemon/cleanups.h
> +++ /dev/null
> @@ -1,51 +0,0 @@
> -/* libguestfs - the guestfsd daemon
> - * Copyright (C) 2009-2015 Red Hat Inc.
> - *
> - * 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 will 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 to the Free Software Foundation, Inc.,
> - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> - */
> -
> -#ifndef GUESTFSD_CLEANUPS_H
> -#define GUESTFSD_CLEANUPS_H
> -
> -/* These functions are used internally by the CLEANUP_* macros.
> - * Don't call them directly.
> - */
> -extern void cleanup_free (void *ptr);
> -extern void cleanup_free_string_list (void *ptr);
> -extern void cleanup_unlink_free (void *ptr);
> -extern void cleanup_close (void *ptr);
> -extern void cleanup_fclose (void *ptr);
> -extern void cleanup_aug_close (void *ptr);
> -extern void cleanup_free_stringsbuf (void *ptr);
> -
> -#ifdef HAVE_ATTRIBUTE_CLEANUP
> -#define CLEANUP_FREE __attribute__((cleanup(cleanup_free)))
> -#define CLEANUP_FREE_STRING_LIST                        \
> -    __attribute__((cleanup(cleanup_free_string_list)))
> -#define CLEANUP_UNLINK_FREE __attribute__((cleanup(cleanup_unlink_free)))
> -#define CLEANUP_CLOSE __attribute__((cleanup(cleanup_close)))
> -#define CLEANUP_FCLOSE __attribute__((cleanup(cleanup_fclose)))
> -#define CLEANUP_AUG_CLOSE __attribute__((cleanup(cleanup_aug_close)))
> -#define CLEANUP_FREE_STRINGSBUF __attribute__((cleanup(cleanup_free_stringsbuf)))
> -#else
> -#define CLEANUP_FREE
> -#define CLEANUP_FREE_STRING_LIST
> -#define CLEANUP_UNLINK_FREE
> -#define CLEANUP_CLOSE
> -#define CLEANUP_AUG_CLOSE
> -#define CLEANUP_FREE_STRINGSBUF
> -#endif
> -
> -#endif /* GUESTFSD_CLEANUPS_H */

Considering cleanups.c is still there, I'd leave this too, even if with
much smaller content.

-- 
Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20170619/51fb9dcc/attachment.sig>


More information about the Libguestfs mailing list