This is a preliminary version of pstat and is based on the file tree walk code - mpi_ftw. It also serves as an example of how mpi_ftw can be modified to fit specific needs. This software was developed for purging purposes but it also reports statistics similar to fsstats. It is currently being tested and should NOT be used for purging or statistics gathering at this time. Usage information follows: usage: mpirun -np 8 ./pstat -e 2w -p /top_level_dir_to_walk -u /usage_file_output_path_and_filename -s /csv_fsstats_output_file_path_and_filename example: mpirun -np 8 -N 4 ./pstat -e 2w -p /home/at -u /home/at/usage -s /home/at/stats.csv NOTE: This is a preliminary version meant for demonstration purposes only. Do not use the purging option (-f). Statistics information is still being verified at this time. ARGUMENTS: -f will turn on file deletion *warning* verbose is really for debugging, not meant for users... -p --path starting point for the treewalk to begin -v --verbose turn on verbose output. this slows it down a lot. used for debugging -d --db use database API. depending on which db is implemented in db.c, this will have different behavior. right now each process writes csv files that are intended for easy import into a db post-run. -f --deletefiles this will delete any file that exceeds the specified expiration time -s --stats this is a port of fsstats. see http://www.pdsi-scidac.org/fsstats/ for more information. there are slight differences in the parallel port such as not able to track repeated hardlinks. -u --usage turn on usage statistics. this is in the format that 'checkscratch' can parse. on bproc node, there is no way to auto convert to moniker from uid, so post processing will be necessary. the usage is how much file space each user is consuming. -e --expire this is required to run right now. this will tell us how old an expired file is in relation to now. the argument to this is a combination of a number and a letter. examples and acceptable letters below: d : day w : week m : month y : year example: 2 days - 2d 4 weeks - 4w 10 months - 10m 500 years - 500y -h --help print out usage