From: <ta...@us...> - 2014-01-31 01:35:05
|
Revision: 8836 http://sourceforge.net/p/gfarm/code/8836 Author: tatebe Date: 2014-01-31 01:35:02 +0000 (Fri, 31 Jan 2014) Log Message: ----------- merge r8835 from the 2.5 branch - output total Revision Links: -------------- http://sourceforge.net/p/gfarm/code/8835 Modified Paths: -------------- gfarm_v2/branches/2.6/gftool/gfusage/gfusage.c Property Changed: ---------------- gfarm_v2/branches/2.6/ Index: gfarm_v2/branches/2.6 =================================================================== --- gfarm_v2/branches/2.6 2014-01-31 01:31:17 UTC (rev 8835) +++ gfarm_v2/branches/2.6 2014-01-31 01:35:02 UTC (rev 8836) Property changes on: gfarm_v2/branches/2.6 ___________________________________________________________________ Modified: svn:mergeinfo ## -1,4 +1,4 ## /gfarm_v2/branches/2.4:5271,5275-5281,5290,5329 -/gfarm_v2/branches/2.5:7212,7214,7216-7217,7225,7246,7252,7254-7256,7260,7286,7509,7560-7561,7564,7573,7593-7596,7608,7619-7620,7633,7650,7655,7663,7677,7680,7700,7717,7725,7728,7732,7736,7780,7796,7813,7852,7855,7876,7897,7908,7918,7922,7924,7929,7933,7941-7942,7946-7948,7950,7954,7983,7997,8005,8008,8011,8014,8017,8028,8035-8037,8040,8043,8050,8053,8057-8058,8072,8078,8083,8095,8097,8106,8116-8118,8122,8137,8149,8154,8163,8167,8180-8181,8189,8192,8196,8227,8232,8236,8241,8245,8280,8294-8295,8310,8313,8333,8336,8339,8342-8347,8350,8413-8414,8417,8420,8423,8429-8430,8436,8439,8454,8505,8520,8533,8599,8605,8614,8654,8657,8669,8674,8681,8684,8689,8695,8700,8724,8736-8739,8742,8746,8750,8759-8760,8765,8769-8772,8774-8779,8788,8791,8797-8798,8803,8814-8815,8818,8824,8826-8827,8829 +/gfarm_v2/branches/2.5:7212,7214,7216-7217,7225,7246,7252,7254-7256,7260,7286,7509,7560-7561,7564,7573,7593-7596,7608,7619-7620,7633,7650,7655,7663,7677,7680,7700,7717,7725,7728,7732,7736,7780,7796,7813,7852,7855,7876,7897,7908,7918,7922,7924,7929,7933,7941-7942,7946-7948,7950,7954,7983,7997,8005,8008,8011,8014,8017,8028,8035-8037,8040,8043,8050,8053,8057-8058,8072,8078,8083,8095,8097,8106,8116-8118,8122,8137,8149,8154,8163,8167,8180-8181,8189,8192,8196,8227,8232,8236,8241,8245,8280,8294-8295,8310,8313,8333,8336,8339,8342-8347,8350,8413-8414,8417,8420,8423,8429-8430,8436,8439,8454,8505,8520,8533,8599,8605,8614,8654,8657,8669,8674,8681,8684,8689,8695,8700,8724,8736-8739,8742,8746,8750,8759-8760,8765,8769-8772,8774-8779,8788,8791,8797-8798,8803,8814-8815,8818,8824,8826-8827,8829,8835 /gfarm_v2/branches/2.5.7:6801,6804,6989,6998-6999,7572,7945,8115 /gfarm_v2/trunk:5598-5599,5616-5624,5626-5628,5641-5647,5650,5653,5657-5666,5669-5670,5673-5674,5683-5685,5693,5695-5696,5699,5704-5711,5717,5719-5720,5726-5727,5729-5730,5739,5746-5751,5775,5793,5799,5806,5808-5809,5815-5818,5821,5825,5827-5831,5839-5842,5844-5849,5851,5863-5864,5868,5870,5872-5878,5881,5884-5886,5889,5897,5913,5915,5924,5928,5930,5932,5934,5937,5942-5948,5959,5966-5972,5974-5975,5980,5994,5997-5998,6001-6007,6012-6013,6016,6019-6022,6024-6029,6031-6032,6034,6040,6042-6047,6053,6062-6063,6065,6067,6070,6073,6077-6079,6081,6083-6084,6086,6089,6091,6093,6095,6101,6103,6107-6108,6111,6115-6118,6120,6122,6129,6131-6137,6139,6141-6142,6144-6150,6152-6157,6159,6161,6166,6168,6173,6175,6177-6179,6181-6185,6188,6190-6193,6196,6214,6217-6218,6220-6223,6230-6232,6238-6239,6242,6247-6248,6250,6252,6255,6257-6258,6263,6265,6268,6271-6273,6276-6278,6282,6286-6287,6289,6292-6296,6298,6304-6306,6309-6310,6314-6315,6331-6333,6335,6340,6354,6361,6377,6380,6394-6397,6406,6413-6414,6420,6423-6427,6437,6448,6451-6452,6455,6458-6459,6469-6470,6476,6486,6553,6567,6571,6575,6577,6580-6581,6604,6614,6616,6630,6638,6645,6700,6741,6747,6754,6756,6758,6762,6764,6766,6768,6770,6778,6807,6810,6815,6823,6825,6836-6837,6839,6852,6854,6856,6865,6879,6926,6928,6939,6945-6946,6948-6952,6956,7008,7012,7015,7097,7099,7101,7103,7122,7167,7178,7181,7185,7200,7218-7222,7228-7229,7233,7236,7239,7242,7249,7529-7530,7532,7536,7566,7578,7597,7601,7659,7664,7666,7672,7674,7686,7697,7705,7709,7713,7721,7747,7751,7755,7758,7762-7763,7768,7775,7788,7798-7799,7801,7806,7827,7831,7836,7842,7847,7866,7878,7881,7884,7888,7892,7914,7916,7936,7967,7971,7979,7993,8001,8020,8024,8029,8046,8048,8141,8158,8240,8255,8380,8540,8567,8715,8728,8756,8782,8785 \ No newline at end of property Modified: gfarm_v2/branches/2.6/gftool/gfusage/gfusage.c =================================================================== --- gfarm_v2/branches/2.6/gftool/gfusage/gfusage.c 2014-01-31 01:31:17 UTC (rev 8835) +++ gfarm_v2/branches/2.6/gftool/gfusage/gfusage.c 2014-01-31 01:35:02 UTC (rev 8836) @@ -21,6 +21,8 @@ static int opt_format_flags = 0; static int opt_humanize_number = 0; +static struct gfarm_quota_get_info total_qi; + static void usage(void) { @@ -47,65 +49,95 @@ } static gfarm_error_t -print_usage_common(const char *name, int opt_group) +print_usage(const char *name, struct gfarm_quota_get_info *qip) { - struct gfarm_quota_get_info qi; - gfarm_error_t e; - - if (opt_group) - e = gfm_client_quota_group_get(gfm_server, name, &qi); - else - e = gfm_client_quota_user_get(gfm_server, name, &qi); - if (e == GFARM_ERR_OPERATION_NOT_PERMITTED) /* not report here */ - return (e); - else if (e == GFARM_ERR_NO_SUCH_OBJECT) { /* not enabled */ - fprintf(stderr, "%s : quota is not enabled.\n", name); - return (e); - } else if (e != GFARM_ERR_NO_ERROR) { - fprintf(stderr, "%s: %s : %s\n", - program_name, name, gfarm_error_string(e)); - return (e); - } printf("%12s : ", name); if (opt_humanize_number) { - printf("%15s ", humanize(qi.space)); - printf("%11s ", humanize(qi.num)); - printf("%15s ", humanize(qi.phy_space)); - printf("%11s\n", humanize(qi.phy_num)); + printf("%15s ", humanize(qip->space)); + printf("%11s ", humanize(qip->num)); + printf("%15s ", humanize(qip->phy_space)); + printf("%11s\n", humanize(qip->phy_num)); } else printf("%15"GFARM_PRId64" %11"GFARM_PRId64 " %15"GFARM_PRId64" %11"GFARM_PRId64"\n", - qi.space, qi.num, qi.phy_space, qi.phy_num); - gfarm_quota_get_info_free(&qi); + qip->space, qip->num, qip->phy_space, qip->phy_num); return (GFARM_ERR_NO_ERROR); } -static void -print_header_user() +static gfarm_error_t +print_usage_total(void) { - printf(header_format, head_user, head_space, head_num, - head_phy_space, head_phy_num); + printf("-------------------------------------------"); + printf("---------------------------\n"); + return (print_usage("TOTAL", &total_qi)); } -static void -print_header_group() +static gfarm_error_t +quota_get(gfarm_error_t (*get)( + struct gfm_connection *, const char *, struct gfarm_quota_get_info *), + const char *name, struct gfarm_quota_get_info *qip) { - printf(header_format, head_group, head_space, head_num, - head_phy_space, head_phy_num); + gfarm_error_t e = get(gfm_server, name, qip); + + if (e == GFARM_ERR_OPERATION_NOT_PERMITTED) /* not report here */ + ; + else if (e == GFARM_ERR_NO_SUCH_OBJECT) /* not enabled */ + fprintf(stderr, "%s: quota is not enabled.\n", name); + else if (e != GFARM_ERR_NO_ERROR) + fprintf(stderr, "%s: %s: %s\n", + program_name, name, gfarm_error_string(e)); + return (e); } + static gfarm_error_t +print_usage_common(gfarm_error_t (*get)( + struct gfm_connection *, const char *, struct gfarm_quota_get_info *), + const char *name) +{ + gfarm_error_t e; + struct gfarm_quota_get_info qi; + + e = quota_get(get, name, &qi); + if (e != GFARM_ERR_NO_ERROR) + return (e); + e = print_usage(name, &qi); + if (e == GFARM_ERR_NO_ERROR) { + total_qi.space += qi.space; + total_qi.num += qi.num; + total_qi.phy_space += qi.phy_space; + total_qi.phy_num += qi.phy_num; + } + gfarm_quota_get_info_free(&qi); + return (e); +} + +static gfarm_error_t print_usage_user(const char *name) { - return (print_usage_common(name, 0)); + return (print_usage_common(gfm_client_quota_user_get, name)); } static gfarm_error_t print_usage_group(const char *name) { - return (print_usage_common(name, 1)); + return (print_usage_common(gfm_client_quota_group_get, name)); } +static void +print_header_user() +{ + printf(header_format, head_user, head_space, head_num, + head_phy_space, head_phy_num); +} + +static void +print_header_group() +{ + printf(header_format, head_group, head_space, head_num, + head_phy_space, head_phy_num); +} + static gfarm_error_t usage_user_one(const char *name) { @@ -151,7 +183,7 @@ free(users); if (success > 0) - return (GFARM_ERR_NO_ERROR); + return (print_usage_total()); else return (e_save); } @@ -187,7 +219,7 @@ free(groups); if (success > 0) - return (GFARM_ERR_NO_ERROR); + return (print_usage_total()); else return (e_save); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |