Hello list,

with dovecot 1.2 on AIX rquota RPC calls fail with

  quota-fs: remote ext rquota call failed: RPC:
      1832-012 Program/version mismatch

when using a netapp filer.

This is what netapp says:

Bug ID          97288
Title           Support requested for rquota version 2
Bug Severity    5 - Suggestion
Bug Status      Closed
Product         Data ONTAP
Bug Type        NFS
Description     Linux has implemented its own extensions to the rquota
                protocol as a version 2 of that protocol.  ONTAP only
                supports v1 as that is the only version defined by
                Sun, the owner of that RPC program number.
Workaround      -
Fixed-In        This bug is not scheduled to be fixed, you may opt to
Version         open a technical support case if you would like to
                contact Network Appliance regarding the status of this
                bug. A complete list of releases where this bug is
                fixed is available here.


So this should be no AIX specific problem.

Using the attached rquota.x fixes the problem. In addition you have to
disable group quota checking by adding "user" to your "quota"
definition. Otherwise you'll see:

   quota-fs: rquota not compiled with group support


Regards, Ralf

-- 
______________________________________________________________________

 Dipl.-Inform. (FH) Ralf Becker     Rechenzentrum (r/ft) der FH Trier
 (Network|Mail|Web|Firewall)           University of applied sciences
 Administrator                           Schneidershof, D-54293 Trier

   Mail: beck...@fh-trier.de                    Fon: +49 651 8103 499
    Web: http://www.fh-trier.de/~beckerr        Fax: +49 651 8103 214
 PubKey: http://www.fh-trier.de/~beckerr     Crypto: GnuPG, S/MIME
______________________________________________________________________

 Wenn Gott gewollt haette, dass E-Mail in HTML geschrieben wuerden,
 endeten Gebete traditionell mit </amen>. (Tom Listen)
/*
 *   COMPONENT_NAME: onchdrs
 *
 *   FUNCTIONS: none
 *
 *   ORIGINS: 24,27
 *
 *
 *   (C) COPYRIGHT International Business Machines Corp. 1988,1993
 *   All Rights Reserved
 *   Licensed Materials - Property of IBM
 *   US Government Users Restricted Rights - Use, duplication or
 *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */


/* 
 * Copyright (c) 1988 by Sun Microsystems, Inc.
 * (#) from SUN 1.4
 */

/*
 * Remote quota protocol
 * Requires unix authentication
 */

const RQ_PATHLEN = 1024;

struct getquota_args {
        string gqa_pathp<RQ_PATHLEN>;   /* path to filesystem of interest */
        int gqa_uid;                    /* inquire about quota for uid */
};

/*
 * remote quota structure
 */
struct rquota {
        int rq_bsize;                   /* block size for block counts */
        bool rq_active;                 /* indicates whether quota is active */
        unsigned int rq_bhardlimit;     /* absolute limit on disk blks alloc */
        unsigned int rq_bsoftlimit;     /* preferred limit on disk blks */
        unsigned int rq_curblocks;      /* current block count */
        unsigned int rq_fhardlimit;     /* absolute limit on allocated files */
        unsigned int rq_fsoftlimit;     /* preferred file limit */
        unsigned int rq_curfiles;       /* current # allocated files */
        unsigned int rq_btimeleft;      /* time left for excessive disk use */
        unsigned int rq_ftimeleft;      /* time left for excessive files */
};      

enum gqr_status {
        Q_OK = 1,               /* quota returned */
        Q_NOQUOTA = 2,          /* noquota for uid */
        Q_EPERM = 3             /* no permission to access quota */
};

union getquota_rslt switch (gqr_status status) {
case Q_OK:
        rquota gqr_rquota;      /* valid if status == Q_OK */
case Q_NOQUOTA:
        void;
case Q_EPERM:
        void;
};

program RQUOTAPROG {
        version RQUOTAVERS {
                /*
                 * Get all quotas
                 */
                getquota_rslt
                RQUOTAPROC_GETQUOTA(getquota_args) = 1;

                /*
                 * Get active quotas only
                 */
                getquota_rslt
                RQUOTAPROC_GETACTIVEQUOTA(getquota_args) = 2;
        } = 1;
} = 100011;

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to