]> granicus.if.org Git - strace/commitdiff
quota: remove legacy subcommand decoding support code
authorEugene Syromyatnikov <evgsyr@gmail.com>
Wed, 21 Sep 2016 03:12:10 +0000 (06:12 +0300)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 27 Sep 2016 00:57:28 +0000 (00:57 +0000)
Support for these quota subcommands by linux kernels has been dropped
long time ago (between 2.5.16 and 2.5.17), so lets drop it in order
to minimize amount of code which should be subjected to testing and
structured conversion.

* quota.c (struct v1_dqblk, struct v2_dqblk, struct v2_dqinfo,
struct v1_dqstats, struct v2_dqstats): Remove.
(decode_cmd_data): Remove handling of Q_V1_GETQUOTA, Q_V1_SETQUOTA,
Q_V2_GETQUOTA, Q_V2_SETQUOTA, Q_V2_GETINFO, Q_V2_SETINFO, Q_V1_GETSTATS,
and Q_V2_GETSTATS subcommands.
(SYS_FUNC(quotactl)): Remove handling of Q_V1_QUOTAON subcommand.

quota.c

diff --git a/quota.c b/quota.c
index b03ecfd49efcf3406d70ab21f5dc2d5c9967c0b8..c28480f4baa980af382117bbe4ccdbbf912273b9 100644 (file)
--- a/quota.c
+++ b/quota.c
@@ -81,30 +81,6 @@ struct if_nextdqblk {
        uint32_t dqb_id;
 };
 
-struct v1_dqblk
-{
-       uint32_t dqb_bhardlimit;        /* absolute limit on disk blks alloc */
-       uint32_t dqb_bsoftlimit;        /* preferred limit on disk blks */
-       uint32_t dqb_curblocks;         /* current block count */
-       uint32_t dqb_ihardlimit;        /* maximum # allocated inodes */
-       uint32_t dqb_isoftlimit;        /* preferred inode limit */
-       uint32_t dqb_curinodes;         /* current # allocated inodes */
-       time_t  dqb_btime;              /* time limit for excessive disk use */
-       time_t  dqb_itime;              /* time limit for excessive files */
-};
-
-struct v2_dqblk
-{
-       unsigned int dqb_ihardlimit;
-       unsigned int dqb_isoftlimit;
-       unsigned int dqb_curinodes;
-       unsigned int dqb_bhardlimit;
-       unsigned int dqb_bsoftlimit;
-       uint64_t dqb_curspace;
-       time_t  dqb_btime;
-       time_t  dqb_itime;
-};
-
 struct xfs_dqblk
 {
        int8_t  d_version;              /* version of this structure */
@@ -139,41 +115,6 @@ struct if_dqinfo
        uint32_t dqi_valid;
 };
 
-struct v2_dqinfo
-{
-       unsigned int dqi_bgrace;
-       unsigned int dqi_igrace;
-       unsigned int dqi_flags;
-       unsigned int dqi_blocks;
-       unsigned int dqi_free_blk;
-       unsigned int dqi_free_entry;
-};
-
-struct v1_dqstats
-{
-       uint32_t lookups;
-       uint32_t drops;
-       uint32_t reads;
-       uint32_t writes;
-       uint32_t cache_hits;
-       uint32_t allocated_dquots;
-       uint32_t free_dquots;
-       uint32_t syncs;
-};
-
-struct v2_dqstats
-{
-       uint32_t lookups;
-       uint32_t drops;
-       uint32_t reads;
-       uint32_t writes;
-       uint32_t cache_hits;
-       uint32_t allocated_dquots;
-       uint32_t free_dquots;
-       uint32_t syncs;
-       uint32_t version;
-};
-
 typedef struct fs_qfilestat
 {
        uint64_t qfs_ino;       /* inode number */
@@ -292,66 +233,6 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, unsigned long data)
                        tprintf("dqb_id=%u, ...}", dq.dqb_id);
                break;
        }
-       case Q_V1_GETQUOTA:
-               if (entering(tcp)) {
-                       printuid(", ", id);
-                       tprints(", ");
-
-                       return 0;
-               }
-
-               /* Fall-through */
-       case Q_V1_SETQUOTA:
-       {
-               struct v1_dqblk dq;
-
-               if (entering(tcp)) {
-                       printuid(", ", id);
-                       tprints(", ");
-               }
-
-               if (umove_or_printaddr(tcp, data, &dq))
-                       break;
-               tprintf("{dqb_bhardlimit=%u, ", dq.dqb_bhardlimit);
-               tprintf("dqb_bsoftlimit=%u, ", dq.dqb_bsoftlimit);
-               tprintf("dqb_curblocks=%u, ", dq.dqb_curblocks);
-               tprintf("dqb_ihardlimit=%u, ", dq.dqb_ihardlimit);
-               tprintf("dqb_isoftlimit=%u, ", dq.dqb_isoftlimit);
-               tprintf("dqb_curinodes=%u, ", dq.dqb_curinodes);
-               tprintf("dqb_btime=%lu, ", (long) dq.dqb_btime);
-               tprintf("dqb_itime=%lu}", (long) dq.dqb_itime);
-               break;
-       }
-       case Q_V2_GETQUOTA:
-               if (entering(tcp)) {
-                       printuid(", ", id);
-                       tprints(", ");
-
-                       return 0;
-               }
-
-               /* Fall-through */
-       case Q_V2_SETQUOTA:
-       {
-               struct v2_dqblk dq;
-
-               if (entering(tcp)) {
-                       printuid(", ", id);
-                       tprints(", ");
-               }
-
-               if (umove_or_printaddr(tcp, data, &dq))
-                       break;
-               tprintf("{dqb_ihardlimit=%u, ", dq.dqb_ihardlimit);
-               tprintf("dqb_isoftlimit=%u, ", dq.dqb_isoftlimit);
-               tprintf("dqb_curinodes=%u, ", dq.dqb_curinodes);
-               tprintf("dqb_bhardlimit=%u, ", dq.dqb_bhardlimit);
-               tprintf("dqb_bsoftlimit=%u, ", dq.dqb_bsoftlimit);
-               tprintf("dqb_curspace=%" PRIu64 ", ", dq.dqb_curspace);
-               tprintf("dqb_btime=%lu, ", (long) dq.dqb_btime);
-               tprintf("dqb_itime=%lu}", (long) dq.dqb_itime);
-               break;
-       }
        case Q_XGETQUOTA:
        case Q_XGETNEXTQUOTA:
                if (entering(tcp)) {
@@ -444,77 +325,6 @@ decode_cmd_data(struct tcb *tcp, uint32_t id, uint32_t cmd, unsigned long data)
                tprints("}");
                break;
        }
-       case Q_V2_GETINFO:
-               if (entering(tcp)) {
-                       tprints(", ");
-
-                       return 0;
-               }
-
-               /* Fall-through */
-       case Q_V2_SETINFO:
-       {
-               struct v2_dqinfo dq;
-
-               if (entering(tcp))
-                       tprints(", ");
-
-               if (umove_or_printaddr(tcp, data, &dq))
-                       break;
-               tprintf("{dqi_bgrace=%u, ", dq.dqi_bgrace);
-               tprintf("dqi_igrace=%u, ", dq.dqi_igrace);
-               tprints("dqi_flags=");
-               printflags(if_dqinfo_flags, dq.dqi_flags, "DQF_???");
-               tprintf(", dqi_blocks=%u, ", dq.dqi_blocks);
-               tprintf("dqi_free_blk=%u, ", dq.dqi_free_blk);
-               tprintf("dqi_free_entry=%u}", dq.dqi_free_entry);
-               break;
-       }
-       case Q_V1_GETSTATS:
-       {
-               struct v1_dqstats dq;
-
-               if (entering(tcp)) {
-                       tprints(", ");
-
-                       return 0;
-               }
-
-               if (umove_or_printaddr(tcp, data, &dq))
-                       break;
-               tprintf("{lookups=%u, ", dq.lookups);
-               tprintf("drops=%u, ", dq.drops);
-               tprintf("reads=%u, ", dq.reads);
-               tprintf("writes=%u, ", dq.writes);
-               tprintf("cache_hits=%u, ", dq.cache_hits);
-               tprintf("allocated_dquots=%u, ", dq.allocated_dquots);
-               tprintf("free_dquots=%u, ", dq.free_dquots);
-               tprintf("syncs=%u}", dq.syncs);
-               break;
-       }
-       case Q_V2_GETSTATS:
-       {
-               struct v2_dqstats dq;
-
-               if (entering(tcp)) {
-                       tprints(", ");
-
-                       return 0;
-               }
-
-               if (umove_or_printaddr(tcp, data, &dq))
-                       break;
-               tprintf("{lookups=%u, ", dq.lookups);
-               tprintf("drops=%u, ", dq.drops);
-               tprintf("reads=%u, ", dq.reads);
-               tprintf("writes=%u, ", dq.writes);
-               tprintf("cache_hits=%u, ", dq.cache_hits);
-               tprintf("allocated_dquots=%u, ", dq.allocated_dquots);
-               tprintf("free_dquots=%u, ", dq.free_dquots);
-               tprintf("syncs=%u, ", dq.syncs);
-               tprintf("version=%u}", dq.version);
-               break;
-       }
        case Q_XGETQSTAT:
        {
                struct xfs_dqstats dq;
@@ -649,7 +459,6 @@ SYS_FUNC(quotactl)
                printpath(tcp, tcp->u_arg[1]);
                switch (cmd) {
                        case Q_QUOTAON:
-                       case Q_V1_QUOTAON:
                                tprints(", ");
                                printxval(quota_formats, id, "QFMT_VFS_???");
                                tprints(", ");