]>
git.tue.mpg.de Git - adu.git/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Andre Noll [Sun, 1 Jun 2008 21:22:04 +0000 (23:22 +0200)]
Header cleanup.
No need to include lots of network-related header files.
Andre Noll [Sun, 1 Jun 2008 21:21:13 +0000 (23:21 +0200)]
Make user summary sortable by user defined column.
This adds the user-summary-sort option
Andre Noll [Sun, 1 Jun 2008 18:29:16 +0000 (20:29 +0200)]
Get rid of global variables num_dirs, num_files, and num_bytes.
These were defined in adu.c but not used there at all.
In fact, create.c only used num_dirs in scan_dir() as a counter for
the directory currently being processed while the other two were not
really used at all. Make num_dirs local to scan_dir(), rename it to
current_dir_num and remove the other two.
The only "real" users of these variables are all in select.c, so move
them there and make them static.
Andre Noll [Sun, 1 Jun 2008 18:08:32 +0000 (20:08 +0200)]
Move ui_used() and ui_admissible() from adu.h to adu.c.
They are only used there.
Andre Noll [Sun, 1 Jun 2008 17:53:55 +0000 (19:53 +0200)]
Add .gitignore.
Hopefully this makes it less likely to forget to check in important
files.
Andre Noll [Sun, 1 Jun 2008 17:52:17 +0000 (19:52 +0200)]
Add create.c.
Oops, forgot to check it in..
Andre Noll [Sun, 1 Jun 2008 17:50:16 +0000 (19:50 +0200)]
Hide the implementation of the uid hash table.
The commands should not know anything about the details.
So replace the FOR_EACH_USER macro by for_each_admissible_user()
which takes a function pointer and calls the given function for
each admissible user, passing a pointer to the user_info struct
of that user.
This allows to un-export uid_hash_table_size and uid_hash_table.
Andre Noll [Sun, 1 Jun 2008 17:08:51 +0000 (19:08 +0200)]
Implement --hash-table-bits.
Andre Noll [Sun, 1 Jun 2008 16:43:39 +0000 (18:43 +0200)]
Also catch SIGPIPE.
Otherwise, "adu -S | invalid_command" kills the adu process and
we're left with dirty osl tables.
Andre Noll [Sun, 1 Jun 2008 16:33:18 +0000 (18:33 +0200)]
Let gengetopt check the given args.
Andre Noll [Sun, 1 Jun 2008 16:32:49 +0000 (18:32 +0200)]
--base-dir must not be a required option.
Otherwise, gengetopt would complain if it is not given even in
--select mode. Make it optional and check manually whether it
is given in --create mode.
Andre Noll [Sun, 1 Jun 2008 16:31:05 +0000 (18:31 +0200)]
Check args before initializing signal handlers.
Andre Noll [Sun, 1 Jun 2008 16:16:58 +0000 (18:16 +0200)]
Move the code for the create command to its own file.
Andre Noll [Sun, 1 Jun 2008 15:50:41 +0000 (17:50 +0200)]
Move the code for the select command to its own file.
Andre Noll [Sun, 1 Jun 2008 14:51:10 +0000 (16:51 +0200)]
Fix a typo in documentation.
Andre Noll [Sun, 1 Jun 2008 14:29:58 +0000 (16:29 +0200)]
Implement username resolution.
Andre Noll [Sun, 1 Jun 2008 13:18:56 +0000 (15:18 +0200)]
Implement --one-file-system (-x).
Andre Noll [Sun, 1 Jun 2008 12:21:58 +0000 (14:21 +0200)]
Cosmetics.
Andre Noll [Sun, 1 Jun 2008 12:20:02 +0000 (14:20 +0200)]
Replace para_ prefix by adu_.
Andre Noll [Sun, 1 Jun 2008 12:02:09 +0000 (14:02 +0200)]
Kill a bunch of unused cruft.
Andre Noll [Sun, 1 Jun 2008 12:01:02 +0000 (14:01 +0200)]
Add error code for SIGNAL_SIG_ERR.
Andre Noll [Sun, 1 Jun 2008 11:25:43 +0000 (13:25 +0200)]
Implement signal handling.
Install a trivial signal handler that sets a global variable
and check the value of this variable from time to time.
This approach is good enough because we only want to cleanly close
the osl table in case we catch SIGINT or SIGTERM.
Andre Noll [Sat, 31 May 2008 21:33:18 +0000 (23:33 +0200)]
Fix two memory leaks.
Andre Noll [Sat, 31 May 2008 21:21:23 +0000 (23:21 +0200)]
Much nicer output.
- only print units if not human-readable was selected
- print sizes/counts before the dirname
- nice identation
- human-readable output for global summary
Andre Noll [Sat, 31 May 2008 18:47:15 +0000 (20:47 +0200)]
Do not use "B" suffix for quantities that are not bytes.
Andre Noll [Sat, 31 May 2008 18:42:25 +0000 (20:42 +0200)]
Do not print non-admissible uids in user summary.
Andre Noll [Sat, 31 May 2008 18:40:33 +0000 (20:40 +0200)]
Fix the uid parser.
Using e.g. --uid 42 caused parse_uid_range() to pass a NULL pointer
to check_uid_arg().
Andre Noll [Sat, 31 May 2008 17:22:46 +0000 (19:22 +0200)]
Switch to the new osl_rbtree_loop() semantics.
This fixes the --limit option that broke by introducing the osl()
wrapper.
Andre Noll [Sat, 31 May 2008 15:54:35 +0000 (17:54 +0200)]
Remove debugging message in error.h.
Andre Noll [Sat, 31 May 2008 15:48:00 +0000 (17:48 +0200)]
Remove trailing slashes from base-dir arg.
Andre Noll [Sat, 31 May 2008 14:21:42 +0000 (16:21 +0200)]
Introduce the osl() wrapper and rename error_txt() to adu_strerror().
This gets rid of the copy of the error codes from libosl.
Also, remove para_fgets() as it is unused.
Andre Noll [Fri, 30 May 2008 20:59:00 +0000 (22:59 +0200)]
Remove and unused variable.
Andre Noll [Fri, 30 May 2008 20:58:48 +0000 (22:58 +0200)]
add_directory(): Fix log message.
Andre Noll [Fri, 30 May 2008 20:56:50 +0000 (22:56 +0200)]
Merge commit 'fml/master'
Andre Noll [Fri, 30 May 2008 16:11:32 +0000 (18:11 +0200)]
Only store the number of the parent dir, not the dir itsself.
This should reduce the size of the database considerably while
also improving performance.
Andre Noll [Fri, 30 May 2008 16:09:13 +0000 (18:09 +0200)]
Check the return value of print_statistics().
It may fail.
Andre Noll [Fri, 30 May 2008 16:08:34 +0000 (18:08 +0200)]
Get rid of the rbtree for the name column.
We never sort by or loopup the dir name.
Andre Noll [Fri, 30 May 2008 13:26:15 +0000 (15:26 +0200)]
Be more verbose if the uid file could not be mapped.
Andre Noll [Fri, 30 May 2008 13:25:23 +0000 (15:25 +0200)]
Inplement the --uid option.
This adds a parser for the --uid argument that fills in the array
of admissible intervals.
In select mode the tables for non-admissible uids are no longer opened.
Therefore we can no longer use the ->table pointer of struct user_info
to find out whether a slot in the hash table is already used. Introduce
the new field ->flags to struct user_info that contains a bit indicating
whether the slot in the hash table is used and another bit that tells
us whether the uid associated with that slot is admissible.
Andre Noll [Fri, 30 May 2008 13:11:44 +0000 (15:11 +0200)]
Fix funny typo in docu to double_hash().
Andre Noll [Fri, 30 May 2008 13:10:51 +0000 (15:10 +0200)]
Fix uid counting.
It was only correct in create mode.
Andre Noll [Thu, 29 May 2008 20:40:51 +0000 (22:40 +0200)]
Remove osl.h and osl_core.h.
They are contained in the osl package.
Andre Noll [Mon, 26 May 2008 23:25:52 +0000 (01:25 +0200)]
Add missing functions to fd.c.
These were previously exported by osl but don't really belong there.
Andre Noll [Mon, 26 May 2008 16:06:45 +0000 (18:06 +0200)]
Implement human-readable output and honor the unit command line options.
Andre Noll [Mon, 26 May 2008 11:55:32 +0000 (13:55 +0200)]
Honor the --limit option.
Andre Noll [Mon, 26 May 2008 09:38:47 +0000 (11:38 +0200)]
Honor the --database_dir option.
Andre Noll [Mon, 26 May 2008 09:24:34 +0000 (11:24 +0200)]
Merge commit 'meins/master'
Conflicts:
Makefile
adu.c
Andre Noll [Mon, 26 May 2008 09:00:56 +0000 (11:00 +0200)]
Get rid of the osl code.
Use libosl instead.
Andre Noll [Mon, 26 May 2008 00:04:40 +0000 (02:04 +0200)]
Add documentation for double_hash().
Andre Noll [Sun, 25 May 2008 23:35:53 +0000 (01:35 +0200)]
Make --loglevel and --S work.
Andre Noll [Sun, 25 May 2008 23:29:30 +0000 (01:29 +0200)]
Add gengetopt support.
First draft of planned options. None is actually implemented so far..
Andre Noll [Sun, 25 May 2008 21:00:30 +0000 (23:00 +0200)]
Implement the select command.
This seperates the creation of the osl tables and the pretty-printing
of the statistics.
To do this, it is necessary to close the tables properly on exit. This
change also fixed some memory leaks.
For the select command the new code reads the uid file and recomputes
the gloabal and the user stats from the osl tables.
Andre Noll [Sun, 25 May 2008 16:35:41 +0000 (18:35 +0200)]
Write the list of all uids to a file.
The select command will need this.
Andre Noll [Sun, 25 May 2008 16:11:18 +0000 (18:11 +0200)]
Add #define for database dir.
Of course, this should be configurabe intstead..
Andre Noll [Sun, 25 May 2008 16:08:27 +0000 (18:08 +0200)]
Replace id table by hash table.
This should make uid lookups much faster. We use a power of two for
the hash table size and open addressing with double hashing to handle
hash collisions.
Sebastian Stark [Tue, 20 May 2008 15:22:00 +0000 (17:22 +0200)]
remove memory leak in scan_dir()
the tmp pointer is used only for directory entries. However, it was allocated
unconditionally and was not freed in case of regular files.
Andre Noll [Tue, 20 May 2008 09:24:54 +0000 (11:24 +0200)]
Merge commit 'stark/master'
Andre Noll [Mon, 19 May 2008 19:46:34 +0000 (21:46 +0200)]
Insert missing tab in stat output.
Andre Noll [Mon, 19 May 2008 19:46:12 +0000 (21:46 +0200)]
Replace dir hash by dir num.
This should work equally well, eats less memory and cpu, and doesn't
require openssl.
Sebastian Stark [Mon, 19 May 2008 16:21:30 +0000 (18:21 +0200)]
put tab between number of files and number of bytes in dir_stats
Sebastian Stark [Mon, 19 May 2008 16:03:10 +0000 (18:03 +0200)]
link against libcrypto instead of libssl
Andre Noll [Mon, 19 May 2008 15:40:01 +0000 (17:40 +0200)]
Initial git checkin.
Not nice, but kinda working.