e2fsprogs: enable project quota reporting in debugfs
PATCH 1/1 e2fsprogs: enable project quota reporting in debugfs
Make the minor changes required so the list_quota and get_quota commands can report project quota information. This also fixes a debugfs segfault that currently occurs when either list_quota or get_quota is invoked with an unknown quota_type argument.
Signed-off-by Eric Whitney <[email protected]>
--- debugfs/quota.c | 12 ++++++------ tests/f_quota/expect.0 | 28 ++++++++++++++-------------- 2 files changed, 20 insertions(+), 20 deletions(-)
debugfs/quota.c +6 -6
@@ -25,7 +25,7 @@ extern char *optarg;#include "debugfs.h" -const char *quota_type[] = {"user" ,"group" ,NULL }; +const char *quota_type[] = {"user" ,"group" ,"project" ,NULL };static int load_quota_ctx (char *progname) {
@@ -92,7 +92,7 @@ static int parse_quota_type(const char *cmdname, const char *str)static int list_quota_callback (struct dquot *dq, void *cb_data EXT2FS_ATTR((unused))) { - printf("%8u %8lld %8lld %8lld %8lld %8lld %8lld\n", + printf("%10u %8lld %8lld %8lld %8lld %8lld %8lld\n", dq->dq_id, (long long)dq->dq_dqb.dqb_curspace, (long long)dq->dq_dqb.dqb_bsoftlimit, (long long)dq->dq_dqb.dqb_bhardlimit,
@@ -120,8 +120,8 @@ void do_list_quota(int argc, char *argv[])if (type <0 )return ; -printf ("%8s %8s %8s %8s %8s %8s %8s\n" , - (type ==0 ) ?"user id" :"group id" , +printf ("%7s %2s %8s %8s %8s %8s %8s %8s\n" , + quota_type[type],"id" ,"blocks" ,"quota" ,"limit" ,"inodes" ,"quota" ,"limit" ); qh = current_qctx->quota_file[type]; retval = qh->qh_ops->scan_dquots (qh, list_quota_callback,NULL );
@@ -154,8 +154,8 @@ void do_get_quota(int argc, char *argv[])if (err)return ; -printf ("%8s %8s %8s %8s %8s %8s %8s\n" , - (type ==0 ) ?"user id" :"group id" , +printf ("%7s %2s %8s %8s %8s %8s %8s %8s\n" , + quota_type[type],"id" ,"blocks" ,"quota" ,"limit" ,"inodes" ,"quota" ,"limit" ); qh = current_qctx->quota_file[type];
tests/f_quota/expect.0 +14 -14
@@ -1,21 +1,21 @@ debugfs: list_quota user - user id blocks quota limit inodes quota limit - 0 13312 0 0 2 0 0 - 34 1024 0 0 1 0 0 - 100 2048 32 50 2 20 30 + user id blocks quota limit inodes quota limit + 0 13312 0 0 2 0 0 + 34 1024 0 0 1 0 0 + 100 2048 32 50 2 20 30 debugfs: list_quota group -group id blocks quota limit inodes quota limit - 0 16384 0 0 5 0 0 + group id blocks quota limit inodes quota limit + 0 16384 0 0 5 0 0 debugfs: get_quota user 0 - user id blocks quota limit inodes quota limit - 0 13312 0 0 2 0 0 + user id blocks quota limit inodes quota limit + 0 13312 0 0 2 0 0 debugfs: get_quota user 100 - user id blocks quota limit inodes quota limit - 100 2048 32 50 2 20 30 + user id blocks quota limit inodes quota limit + 100 2048 32 50 2 20 30 debugfs: get_quota user 34 - user id blocks quota limit inodes quota limit - 34 1024 0 0 1 0 0 + user id blocks quota limit inodes quota limit + 34 1024 0 0 1 0 0 debugfs: get_quota group 0 -group id blocks quota limit inodes quota limit - 0 16384 0 0 5 0 0 + group id blocks quota limit inodes quota limit + 0 16384 0 0 5 0 0 debugfs:
Signature · 1 line
2.1.4
Theodore Ts'o
AppliedQuoted 6 lines · Eric Whitney
Make the minor changes required so the
list_quotaandget_quotacommands can report project quota information. This also fixes a debugfs segfault that currently occurs when eitherlist_quotaorget_quotais invoked with an unknownquota_typeargument.Signed-off-by Eric Whitney <[email protected]>
Applied, thanks.
- Ted