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
-~----------~----~----~----~------~----~------~--~---

Reply via email to