Author: adrian.chadd
Date: Tue Jul 7 23:48:50 2009
New Revision: 14150
Added:
playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_dir.h
playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_log.h
Modified:
playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_dir.c
playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_log.c
playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_rebuild.c
Log:
Shuffle around the dir/log rebuild code long enough to make things buildable
and usable.
ufs_rebuild now works - but it only will rebuild from the directory.
Modified: playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_dir.c
==============================================================================
--- playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_dir.c
(original)
+++ playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_dir.c Tue Jul
7
23:48:50 2009
@@ -110,7 +110,7 @@
}
void
-read_dir(store_ufs_dir_t *sd)
+rebuild_from_dir(store_ufs_dir_t *sd)
{
DIR *d;
struct dirent *de;
Added: playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_dir.h
==============================================================================
--- (empty file)
+++ playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_dir.h Tue Jul
7
23:48:50 2009
@@ -0,0 +1,6 @@
+#ifndef __UFS_REBUILD_DIR_H__
+#define __UFS_REBUILD_DIR_H__
+
+extern void rebuild_from_dir(store_ufs_dir_t *sd);
+
+#endif
Modified: playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_log.c
==============================================================================
--- playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_log.c
(original)
+++ playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_log.c Tue Jul
7
23:48:50 2009
@@ -84,7 +84,7 @@
}
void
-read_log_file(const char *swapfile)
+rebuild_from_log(const char *swapfile)
{
FILE *fp;
storeSwapLogHeader hdr;
Added: playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_log.h
==============================================================================
--- (empty file)
+++ playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_build_log.h Tue Jul
7
23:48:50 2009
@@ -0,0 +1,6 @@
+#ifndef __UFS_REBUILD_LOG_H__
+#define __UFS_REBUILD_LOG_H__
+
+extern void rebuild_from_log(store_ufs_dir_t *sd);
+
+#endif
Modified: playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_rebuild.c
==============================================================================
--- playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_rebuild.c (original)
+++ playpen/LUSCA_HEAD_storework/app/ufs_rebuild/ufs_rebuild.c Tue Jul 7
23:48:50 2009
@@ -12,8 +12,17 @@
#include "libsqstore/store_log.h"
#include "libsqstore/store_file_ufs.h"
+#include "ufs_build_dir.h"
+#include "ufs_build_log.h"
+
int shutting_down = 0;
+typedef enum {
+ REBUILD_NONE,
+ REBUILD_DISK,
+ REBUILD_LOG
+} rebuild_type_t;
+
int
main(int argc, char *argv[])
{
@@ -21,6 +30,7 @@
_db_init("ALL,1");
_db_set_stderr_debug(1);
store_ufs_dir_t store_ufs_info;
+ rebuild_type_t rebuild_type;
if (argc < 5) {
printf("Usage: %s <store path> <l1> <l2> <path to swapfile>\n",
argv[0]);
@@ -29,10 +39,16 @@
store_ufs_init(&store_ufs_info, argv[1], atoi(argv[2]), atoi(argv[3]),
argv[4]);
+ rebuild_type = REBUILD_DISK;
+
/* Output swap header to stdout */
(void) storeSwapLogPrintHeader(1);
- read_dir(&store_ufs_info);
+ if (rebuild_type == REBUILD_DISK)
+ rebuild_from_dir(&store_ufs_info);
+ else
+ rebuild_from_log(&store_ufs_info);
+
store_ufs_done(&store_ufs_info);
return 0;
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"lusca-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/lusca-commit?hl=en
-~----------~----~----~----~------~----~------~--~---