From: Enrico Scholz Date: Wed, 21 Jan 2004 18:54:35 +0000 (+0000) Subject: cleanups; use CALL_VC() macro X-Git-Tag: VERSION_0_10~860 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8f34ad3e4e5ab46969201c96ecdfc86e7162fbcf;p=util-vserver.git cleanups; use CALL_VC() macro git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@670 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/util-vserver/lib/fscompat_getiattr.c b/util-vserver/lib/fscompat_getiattr.c index 4d6ae59..38f8dd2 100644 --- a/util-vserver/lib/fscompat_getiattr.c +++ b/util-vserver/lib/fscompat_getiattr.c @@ -21,25 +21,26 @@ #endif #include "vserver.h" -#include "vserver-internal.h" #include +#if defined(VC_ENABLE_API_FSCOMPAT) && defined(VC_ENABLE_API_V13) +# define VC_MULTIVERSION_SYSCALL 1 +#endif +#include "vserver-internal.h" + #ifdef VC_ENABLE_API_FSCOMPAT -# include "fscompat_getiattr-v11.hc" +# include "fscompat_getiattr-fscompat.hc" +#endif + +#ifdef VC_ENABLE_API_V13 +# include "fscompat_getiattr-v13.hc" #endif int vc_get_iattr_compat(char const *filename, dev_t dev, ino_t ino, - xid_t * /*@null@*/ xid, - uint32_t * /*@null@*/ flags, - uint32_t * mask) + xid_t * xid, uint32_t * flags, uint32_t * mask) { -#ifdef VC_ENABLE_API_FSCOMPAT - int ver = utilvserver_checkCompatVersion(); - if (ver==-1) return -1; -#endif - if ( (mask==0) || ((*mask&VC_IATTR_XID) && xid==0) || ((*mask&~VC_IATTR_XID) && flags==0) ) { @@ -47,16 +48,7 @@ vc_get_iattr_compat(char const *filename, return -1; } if ( flags ) *flags &= ~*mask; - -#ifdef VC_ENABLE_API_FSCOMPAT - if ((ver&0xffff)<=4) - return vc_get_iattr_compat_v11(filename, dev, ino, xid, flags, mask); -#endif - -#ifdef VC_ENABLE_API_V13 - return vc_get_iattr(dev, ino, xid, flags, mask); -#endif - errno = ENOSYS; - return -1; + CALL_VC(CALL_VC_V13 (vc_get_iattr_compat, filename, dev, ino, xid, flags, mask), + CALL_VC_FSCOMPAT(vc_get_iattr_compat, filename, dev, ino, xid, flags, mask)); } diff --git a/util-vserver/lib/fscompat_setiattr.c b/util-vserver/lib/fscompat_setiattr.c index e4f937b..3d27004 100644 --- a/util-vserver/lib/fscompat_setiattr.c +++ b/util-vserver/lib/fscompat_setiattr.c @@ -21,29 +21,26 @@ #endif #include "vserver.h" -#include "vserver-internal.h" #include -#ifdef VC_ENABLE_API_FSCOMPAT -# include "fscompat_setiattr-v11.hc" +#if defined(VC_ENABLE_API_FSCOMPAT) && defined(VC_ENABLE_API_V13) +# define VC_MULTIVERSION_SYSCALL 1 #endif +#include "vserver-internal.h" -int -vc_set_iattr_compat(char const *filename, - dev_t dev, ino_t ino, xid_t xid, - uint32_t flags, uint32_t mask) -{ #ifdef VC_ENABLE_API_FSCOMPAT - int ver = utilvserver_checkCompatVersion(); - if (ver==-1) return -1; - if ((ver&0xffff)<=4) - return vc_set_iattr_compat_v11(filename, dev, ino, xid, flags, mask); +# include "fscompat_setiattr-fscompat.hc" #endif #ifdef VC_ENABLE_API_V13 - return vc_set_iattr(dev, ino, xid, flags, mask); +# include "fscompat_setiattr-v13.hc" #endif - errno = ENOSYS; - return -1; +int +vc_set_iattr_compat(char const *filename, + dev_t dev, ino_t ino, xid_t xid, + uint32_t flags, uint32_t mask) +{ + CALL_VC(CALL_VC_V13 (vc_set_iattr_compat, filename, dev, ino, xid, flags, mask), + CALL_VC_FSCOMPAT(vc_set_iattr_compat, filename, dev, ino, xid, flags, mask)); }