~ubuntu-branches/ubuntu/saucy/slurm-llnl/saucy

« back to all changes in this revision

Viewing changes to src/sacct/sacct.c

  • Committer: Bazaar Package Importer
  • Author(s): Gennaro Oliva
  • Date: 2008-05-30 13:11:30 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20080530131130-l6ko6aie7xhrlmxe
Tags: 1.3.3-1
* New upstream release
* Removed patches to src/slurmctd/controller.c src/slurmdbd/slurmdbd.c
  doc/man/man1/sacctmgr.1 included to upstream
* Edited watch file to seek for 1.3 releases
* doc/man/man1/salloc.1 doc/man/man1/sbatch.1 doc/man/man5/slurm.conf.5
  patched to improve formatting and avoid manual warnings 

Show diffs side-by-side

added added

removed removed

Lines of Context:
145
145
 
146
146
#include "sacct.h"
147
147
 
148
 
 
149
148
void invalidSwitchCombo(char *good, char *bad);
150
149
void _print_header(void);
151
150
 
154
153
 */
155
154
sacct_parameters_t params;
156
155
fields_t fields[] = {{"account", print_account},
157
 
                     {"blockid", print_blockid},
158
156
                     {"cpu", print_cpu},
159
157
                     {"cputime", print_cputime}, 
160
158
                     {"elapsed", print_elapsed},
163
161
                     {"finished", print_end},           /* Defunct name */ 
164
162
                     {"gid", print_gid}, 
165
163
                     {"group", print_group}, 
166
 
                     {"idrss", print_idrss}, 
167
 
                     {"inblocks", print_inblocks}, 
168
 
                     {"isrss", print_isrss}, 
169
 
                     {"ixrss", print_ixrss}, 
170
164
                     {"job", print_job},
171
165
                     {"jobid", print_jobid}, 
172
166
                     {"jobname", print_name}, 
173
 
                     {"majflt", print_majflt}, 
174
 
                     {"minflt", print_minflt}, 
175
 
                     {"msgrcv", print_msgrcv}, 
176
 
                     {"msgsnd", print_msgsnd}, 
177
167
                     {"ncpus", print_ncpus}, 
178
 
                     {"nivcsw", print_nivcsw}, 
179
168
                     {"nodes", print_nodes}, 
 
169
                     {"nnodes", print_nnodes}, 
180
170
                     {"nprocs", print_ntasks},
181
 
                     {"nsignals", print_nsignals},
182
 
                     {"nswap", print_nswap}, 
183
171
                     {"ntasks", print_ntasks}, 
184
 
                     {"nvcsw", print_nvcsw}, 
185
 
                     {"outblocks", print_outblocks},
186
172
                     {"pages", print_pages}, 
187
173
                     {"partition", print_partition}, 
188
174
                     {"rss", print_rss},
189
175
                     {"start", print_start}, 
190
 
                     {"status", print_status}, 
 
176
                     {"state", print_state}, 
 
177
                     {"status", print_state}, 
191
178
                     {"submit", print_submit}, 
 
179
                     {"timelimit", print_timelimit}, 
192
180
                     {"submitted", print_submit},       /* Defunct name */
193
181
                     {"systemcpu", print_systemcpu}, 
194
182
                     {"uid", print_uid}, 
195
183
                     {"user", print_user}, 
196
184
                     {"usercpu", print_usercpu}, 
197
185
                     {"vsize", print_vsize}, 
198
 
                     {"vsize_short", print_vsize_short}, 
 
186
#ifdef HAVE_BG
 
187
                     {"blockid", print_blockid}, 
 
188
                     {"connection", print_connection}, 
 
189
                     {"geo", print_geo}, 
 
190
                     {"max_procs", print_max_procs}, 
 
191
                     {"reboot", print_reboot}, 
 
192
                     {"rotate", print_rotate}, 
 
193
                     {"bg_start_point", print_bg_start_point},               
 
194
#endif
199
195
                     {NULL, NULL}};
200
196
 
201
 
long input_error = 0;           /* Muddle through bad data, but complain! */
202
 
 
203
197
List jobs = NULL;
204
198
 
205
199
int printfields[MAX_PRINTFIELDS],       /* Indexed into fields[] */
208
202
int main(int argc, char **argv)
209
203
{
210
204
        enum {
211
 
                DUMP,
212
 
                EXPIRE,
213
 
                FDUMP,
214
 
                LIST,
215
 
                STAT,
216
 
                HELP,
217
 
                USAGE
 
205
                SACCT_DUMP,
 
206
                SACCT_EXPIRE,
 
207
                SACCT_FDUMP,
 
208
                SACCT_LIST,
 
209
                SACCT_STAT,
 
210
                SACCT_HELP,
 
211
                SACCT_USAGE
218
212
        } op;
219
213
        int rc = 0;
220
214
        
226
220
         */
227
221
 
228
222
        if (params.opt_help)
229
 
                op = HELP;
 
223
                op = SACCT_HELP;
230
224
        else if (params.opt_dump) {
231
 
                op = DUMP;
 
225
                op = SACCT_DUMP;
232
226
                if (params.opt_long || params.opt_total 
233
227
                    || params.opt_field_list || params.opt_expire) {
234
228
                        if (params.opt_verbose)
247
241
                        goto finished;
248
242
                }
249
243
        } else if (params.opt_fdump) {
250
 
                op = FDUMP;
 
244
                op = SACCT_FDUMP;
251
245
        } else if (params.opt_stat) {
252
 
                op = STAT;
 
246
                op = SACCT_STAT;
253
247
        } else if (params.opt_expire) {
254
 
                op = EXPIRE;
 
248
                op = SACCT_EXPIRE;
255
249
                if (params.opt_long || params.opt_total 
256
250
                    || params.opt_field_list || 
257
251
                    (params.opt_gid>=0) || (params.opt_uid>=0) ||
281
275
                        goto finished;
282
276
                }
283
277
        } else
284
 
                op = LIST;
 
278
                op = SACCT_LIST;
285
279
 
286
280
        
287
281
        switch (op) {
288
 
        case DUMP:
289
 
                get_data();
290
 
                do_dump();
291
 
                break;
292
 
        case EXPIRE:
293
 
                do_expire();
294
 
                break;
295
 
        case FDUMP:
296
 
                get_data();
297
 
                break;
298
 
        case LIST:
 
282
        case SACCT_DUMP:
 
283
                if(get_data() == SLURM_ERROR)
 
284
                        exit(errno);
 
285
                if(params.opt_completion) 
 
286
                        do_dump_completion();
 
287
                else 
 
288
                        do_dump();
 
289
                break;
 
290
        case SACCT_EXPIRE:
 
291
                do_expire(0);
 
292
                break;
 
293
        case SACCT_FDUMP:
 
294
                if(get_data() == SLURM_ERROR)
 
295
                        exit(errno);
 
296
                break;
 
297
        case SACCT_LIST:
299
298
                if (params.opt_header)  /* give them something to look */
300
299
                        _print_header();/* at while we think...        */
301
 
                get_data();
302
 
                do_list();
 
300
                if(get_data() == SLURM_ERROR)
 
301
                        exit(errno);
 
302
                if(params.opt_completion) 
 
303
                        do_list_completion();
 
304
                else 
 
305
                        do_list();
303
306
                break;
304
 
        case STAT:
 
307
        case SACCT_STAT:
 
308
                fprintf(stderr,
 
309
                        "This functionality has been replaced with 'sstat' "
 
310
                        "in the future please make note this will "
 
311
                        "not be supported.");
 
312
                
305
313
                if (params.opt_header)  /* give them something to look */
306
314
                        _print_header();/* at while we think...        */
307
315
                do_stat();
308
316
                break;
309
 
        case HELP:
 
317
        case SACCT_HELP:
310
318
                do_help();
311
319
                break;
312
320
        default: