CVS: intermezzo/intersync fileset.c,1.40,1.41 intersync.c,1.51,1.52 intersync.h,1.40,1.41
Chen Yang <[email protected]> Sat, 21 Jun 2003 19:05:49 -0700
| Newsgroups | gmane.comp.file-systems.intermezzo.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/intermezzo/intermezzo/intersync In directory sc8-pr-cvs1:/tmp/cvs-serv28314/intermezzo/intersync Modified Files: fileset.c intersync.c intersync.h Log Message: Troy Benjegerdes([email protected]) 's Data on Demand extension Integrated by Chen Yang. Index: fileset.c =================================================================== RCS file: /cvsroot/intermezzo/intermezzo/intersync/fileset.c,v retrieving revision 1.40 retrieving revision 1.41 diff -U2 -r1.40 -r1.41 --- fileset.c 23 Sep 2002 22:10:07 -0000 1.40 +++ fileset.c 22 Jun 2003 02:05:47 -0000 1.41 @@ -541,5 +541,6 @@ struct is_peer *server, char *izo_dir, - char *fsetname) + char *fsetname, + int data_on_demand) { struct is_fileset * root_fset = NULL; @@ -583,5 +584,9 @@ rep = is_replicator_lookup(root_fset, server); - if (cache->cache_fstype == FSTYPE_VINTERMEZZO && + if (cache->cache_fstype == FSTYPE_VINTERMEZZO) + data_on_demand = 1; + + printf("is_client_init_fset: data_on_demand: %d\n", data_on_demand); + if (data_on_demand == 1 && izo_ioc_mark_fset(root_fset->fset_mtpt_fd, ~0, FSET_DATA_ON_DEMAND)) g_error("Unable to set FSET_DATA_ON_DEMAND: %s (%d).\n", @@ -604,5 +609,6 @@ struct is_fileset *is_fileset_initialize(struct is_cache *cache, struct is_peer *server, - char * fsetname) + char * fsetname, + int data_on_demand) { struct is_fileset *root_fset = NULL; @@ -618,5 +624,6 @@ server->srv_cell->cell_root_fset_name = fsetname; root_fset = is_client_init_fset(cache, server, izo_dir, - server->srv_cell->cell_root_fset_name); + server->srv_cell->cell_root_fset_name, + data_on_demand); } Index: intersync.c =================================================================== RCS file: /cvsroot/intermezzo/intermezzo/intersync/intersync.c,v retrieving revision 1.51 retrieving revision 1.52 diff -U2 -r1.51 -r1.52 --- intersync.c 12 Mar 2003 13:20:31 -0000 1.51 +++ intersync.c 22 Jun 2003 02:05:47 -0000 1.52 @@ -220,4 +220,5 @@ --hoard=FILE hoard the files listed in FILE\n\ --reint quit after reintegration and hoard is done\n\ + --data_on_demand force data on demand even on a ext3 filesystem\n\ --daemon run intersync as daemon process\n\ --version output version information and exit\n\ @@ -261,4 +262,6 @@ #define OPT_DAEMON -11 {"daemon", no_argument, NULL, OPT_DAEMON}, +#define OPT_DATA_ON_DEMAND -12 + {"data_on_demand", no_argument, NULL, OPT_DATA_ON_DEMAND}, {0} }; @@ -272,4 +275,5 @@ cfg->cfg_reint_only = 0; cfg->cfg_daemon = 0; + cfg->cfg_data_on_demand = 0; cfg->cfg_clientid = NULL; cfg->cfg_fsetname = NULL; @@ -313,4 +317,7 @@ cfg->cfg_daemon = 1; break; + case OPT_DATA_ON_DEMAND: + cfg->cfg_data_on_demand = 1; + break; case OPT_CLIENTID: cfg->cfg_clientid = g_strdup(optarg); @@ -398,4 +405,6 @@ if (dst->cfg_local_port == -1) dst->cfg_local_port = src->cfg_local_port; + if (dst->cfg_data_on_demand == -1) + dst->cfg_data_on_demand = src->cfg_data_on_demand; if (!dst->cfg_local_ip) { dst->cfg_local_ip = src->cfg_local_ip; @@ -419,4 +428,7 @@ cfg->cfg_local_ip = g_strdup(DEFAULT_LOCAL_IP); } + if (cfg->cfg_data_on_demand == -1) { /* is this right???? */ + cfg->cfg_data_on_demand = DEFAULT_DATA_ON_DEMAND; + } if (!cfg->cfg_fsetname && !cfg->cfg_server) cfg->cfg_fsetname = g_strdup("rootfset"); @@ -601,5 +613,6 @@ g_error("Cannot connect to server.\n"); } - fset = is_fileset_initialize(cache, server, cfg.cfg_fsetname); + fset = is_fileset_initialize(cache, server, cfg.cfg_fsetname, + cfg.cfg_data_on_demand); if (!fset) is_die("failed to get root file set"); Index: intersync.h =================================================================== RCS file: /cvsroot/intermezzo/intermezzo/intersync/intersync.h,v retrieving revision 1.40 retrieving revision 1.41 diff -U2 -r1.40 -r1.41 --- intersync.h 17 May 2002 00:38:10 -0000 1.40 +++ intersync.h 22 Jun 2003 02:05:47 -0000 1.41 @@ -24,5 +24,5 @@ #define DEFAULT_CLIENT_PORT 2432 #define DEFAULT_LOCAL_IP "*" - +#define DEFAULT_DATA_ON_DEMAND 0 # define INTERSYNC_DEBUG @@ -297,5 +297,5 @@ void is_peer_destroy_rep(struct is_peer *peer); struct is_fileset *is_fileset_initialize(struct is_cache *, struct is_peer *, - char *fsetname); + char *fsetname, int data_on_demand); struct is_peer *is_peer_set_uuid(struct is_peer *peer, uuid_t uuid); struct is_fileset *is_release_all_permits(struct intersync *is, ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php