...
|
...
|
@@ -305,18 +305,53 @@ static void msend_req_send_stat(int s, mfile *m)
|
305
|
305
|
lprintf(9,"%s: STAT %s\n", __func__, m->fn);
|
306
|
306
|
if(m->dryrun){
|
307
|
307
|
if(ack_check(m, MAKUO_RECVSTATE_UPDATE) != 1){
|
308
|
|
- cprintf(5, m->comm, "(%s)\r\n", m->fn);
|
309
|
|
- }else{
|
310
|
|
- cprintf(0, m->comm, "[%s]\r\n", m->fn);
|
311
|
308
|
if(!m->sendto){
|
312
|
309
|
for(t=members;t;t=t->next){
|
313
|
|
- r = get_hoststate(t, m);
|
|
310
|
+ if(r = get_hoststate(t, m)){
|
|
311
|
+ if(*r == MAKUO_RECVSTATE_UPDATE)
|
|
312
|
+ cprintf(3, m->comm, "(dryrun) update %s:%s\r\n", t->hostname, m->fn);
|
|
313
|
+ if(*r == MAKUO_RECVSTATE_SKIP)
|
|
314
|
+ cprintf(3, m->comm, "(dryrun) skip %s:%s\r\n", t->hostname, m->fn);
|
|
315
|
+ if(*r == MAKUO_RECVSTATE_READONLY)
|
|
316
|
+ cprintf(3, m->comm, "(dryrun) skipro %s:%s\r\n", t->hostname, m->fn);
|
|
317
|
+ }
|
|
318
|
+ }
|
|
319
|
+ }else{
|
|
320
|
+ t = member_get(&(m->addr.sin_addr));
|
|
321
|
+ if(r = get_hoststate(t, m)){
|
314
|
322
|
if(*r == MAKUO_RECVSTATE_UPDATE)
|
315
|
|
- cprintf(1, m->comm, "(dryrun) update %s:%s\r\n", t->hostname, m->fn);
|
|
323
|
+ cprintf(3, m->comm, "(dryrun) update %s:%s\r\n", t->hostname, m->fn);
|
316
|
324
|
if(*r == MAKUO_RECVSTATE_SKIP)
|
317
|
|
- cprintf(2, m->comm, "(dryrun) skip %s:%s\r\n", t->hostname, m->fn);
|
|
325
|
+ cprintf(3, m->comm, "(dryrun) skip %s:%s\r\n", t->hostname, m->fn);
|
318
|
326
|
if(*r == MAKUO_RECVSTATE_READONLY)
|
319
|
|
- cprintf(2, m->comm, "(dryrun) skipro %s:%s\r\n", t->hostname, m->fn);
|
|
327
|
+ cprintf(3, m->comm, "(dryrun) skipro %s:%s\r\n", t->hostname, m->fn);
|
|
328
|
+ }
|
|
329
|
+ }
|
|
330
|
+ }else{
|
|
331
|
+ if(m->comm){
|
|
332
|
+ if(m->comm->loglevel == 0){
|
|
333
|
+ cprintf(0, m->comm, "[%s]\r\n", m->fn);
|
|
334
|
+ }else{
|
|
335
|
+ if(!m->sendto){
|
|
336
|
+ for(t=members;t;t=t->next){
|
|
337
|
+ r = get_hoststate(t, m);
|
|
338
|
+ if(*r == MAKUO_RECVSTATE_UPDATE)
|
|
339
|
+ cprintf(1, m->comm, "(dryrun) update %s:%s\r\n", t->hostname, m->fn);
|
|
340
|
+ if(*r == MAKUO_RECVSTATE_SKIP)
|
|
341
|
+ cprintf(2, m->comm, "(dryrun) skip %s:%s\r\n", t->hostname, m->fn);
|
|
342
|
+ if(*r == MAKUO_RECVSTATE_READONLY)
|
|
343
|
+ cprintf(2, m->comm, "(dryrun) skipro %s:%s\r\n", t->hostname, m->fn);
|
|
344
|
+ }
|
|
345
|
+ }else{
|
|
346
|
+ t = member_get(&(m->addr.sin_addr));
|
|
347
|
+ r = get_hoststate(t, m);
|
|
348
|
+ if(*r == MAKUO_RECVSTATE_UPDATE)
|
|
349
|
+ cprintf(1, m->comm, "(dryrun) update %s:%s\r\n", t->hostname, m->fn);
|
|
350
|
+ if(*r == MAKUO_RECVSTATE_SKIP)
|
|
351
|
+ cprintf(2, m->comm, "(dryrun) skip %s:%s\r\n", t->hostname, m->fn);
|
|
352
|
+ if(*r == MAKUO_RECVSTATE_READONLY)
|
|
353
|
+ cprintf(2, m->comm, "(dryrun) skipro %s:%s\r\n", t->hostname, m->fn);
|
|
354
|
+ }
|
320
|
355
|
}
|
321
|
356
|
}
|
322
|
357
|
}
|
...
|
...
|
@@ -325,21 +360,58 @@ static void msend_req_send_stat(int s, mfile *m)
|
325
|
325
|
m->mdata.head.nstate = MAKUO_SENDSTATE_CLOSE;
|
326
|
326
|
}else{
|
327
|
327
|
if(ack_check(m, MAKUO_RECVSTATE_UPDATE) != 1){
|
328
|
|
- cprintf(5, m->comm, "(%s)\r\n", m->fn);
|
329
|
|
- m->initstate = 1;
|
330
|
|
- m->mdata.head.nstate = MAKUO_SENDSTATE_CLOSE;
|
331
|
|
- }else{
|
332
|
|
- lprintf(1, "%s: update %s\n", __func__, m->fn);
|
333
|
|
- cprintf(1, m->comm, "[%s]\r\n", m->fn);
|
334
|
328
|
if(!m->sendto){
|
335
|
329
|
for(t=members;t;t=t->next){
|
336
|
|
- r = get_hoststate(t, m);
|
|
330
|
+ if(r = get_hoststate(t, m)){
|
|
331
|
+ if(*r == MAKUO_RECVSTATE_UPDATE)
|
|
332
|
+ cprintf(3, m->comm, "(dryrun) update %s:%s\r\n", t->hostname, m->fn);
|
|
333
|
+ if(*r == MAKUO_RECVSTATE_SKIP)
|
|
334
|
+ cprintf(3, m->comm, "(dryrun) skip %s:%s\r\n", t->hostname, m->fn);
|
|
335
|
+ if(*r == MAKUO_RECVSTATE_READONLY)
|
|
336
|
+ cprintf(3, m->comm, "(dryrun) skipro %s:%s\r\n", t->hostname, m->fn);
|
|
337
|
+ }
|
|
338
|
+ }
|
|
339
|
+ }else{
|
|
340
|
+ t = member_get(&(m->addr.sin_addr));
|
|
341
|
+ if(r = get_hoststate(t, m)){
|
337
|
342
|
if(*r == MAKUO_RECVSTATE_UPDATE)
|
338
|
|
- cprintf(2, m->comm, "update %s:%s\r\n", t->hostname, m->fn);
|
|
343
|
+ cprintf(3, m->comm, "(dryrun) update %s:%s\r\n", t->hostname, m->fn);
|
339
|
344
|
if(*r == MAKUO_RECVSTATE_SKIP)
|
340
|
|
- cprintf(3, m->comm, "skip %s:%s\r\n", t->hostname, m->fn);
|
|
345
|
+ cprintf(3, m->comm, "(dryrun) skip %s:%s\r\n", t->hostname, m->fn);
|
341
|
346
|
if(*r == MAKUO_RECVSTATE_READONLY)
|
342
|
|
- cprintf(3, m->comm, "skipro %s:%s\r\n", t->hostname, m->fn);
|
|
347
|
+ cprintf(3, m->comm, "(dryrun) skipro %s:%s\r\n", t->hostname, m->fn);
|
|
348
|
+ }
|
|
349
|
+ }
|
|
350
|
+ m->initstate = 1;
|
|
351
|
+ m->mdata.head.nstate = MAKUO_SENDSTATE_CLOSE;
|
|
352
|
+ }else{
|
|
353
|
+ lprintf(1, "%s: update %s\n", __func__, m->fn);
|
|
354
|
+ if(m->comm){
|
|
355
|
+ if(m->comm->loglevel == 0){
|
|
356
|
+ cprintf(0, m->comm, "[%s]\r\n", m->fn);
|
|
357
|
+ }else{
|
|
358
|
+ if(!m->sendto){
|
|
359
|
+ for(t=members;t;t=t->next){
|
|
360
|
+ if(r = get_hoststate(t, m)){
|
|
361
|
+ if(*r == MAKUO_RECVSTATE_UPDATE)
|
|
362
|
+ cprintf(1, m->comm, "update %s:%s\r\n", t->hostname, m->fn);
|
|
363
|
+ if(*r == MAKUO_RECVSTATE_SKIP)
|
|
364
|
+ cprintf(2, m->comm, "skip %s:%s\r\n", t->hostname, m->fn);
|
|
365
|
+ if(*r == MAKUO_RECVSTATE_READONLY)
|
|
366
|
+ cprintf(2, m->comm, "skipro %s:%s\r\n", t->hostname, m->fn);
|
|
367
|
+ }
|
|
368
|
+ }
|
|
369
|
+ }else{
|
|
370
|
+ t = member_get(&(m->addr.sin_addr));
|
|
371
|
+ if(r = get_hoststate(t, m)){
|
|
372
|
+ if(*r == MAKUO_RECVSTATE_UPDATE)
|
|
373
|
+ cprintf(1, m->comm, "update %s:%s\r\n", t->hostname, m->fn);
|
|
374
|
+ if(*r == MAKUO_RECVSTATE_SKIP)
|
|
375
|
+ cprintf(2, m->comm, "skip %s:%s\r\n", t->hostname, m->fn);
|
|
376
|
+ if(*r == MAKUO_RECVSTATE_READONLY)
|
|
377
|
+ cprintf(2, m->comm, "skipro %s:%s\r\n", t->hostname, m->fn);
|
|
378
|
+ }
|
|
379
|
+ }
|
343
|
380
|
}
|
344
|
381
|
}
|
345
|
382
|
m->initstate = 1;
|