From 5916f82f74c0630482f4a2215f26ef20b43cf87d Mon Sep 17 00:00:00 2001 From: anwleung Date: Wed, 28 Mar 2007 06:38:59 +0000 Subject: [PATCH] eh a bunch of stuff here and there git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1311 29311d96-e01e-0410-9327-a35deaab8ce9 --- branches/aleung/security1/ceph/.groups | 2 - branches/aleung/security1/ceph/Makefile | 4 +- .../aleung/security1/ceph/client/Client.cc | 4 +- .../security1/ceph/jobs/mds/open_wr_lat | 5 +- branches/aleung/security1/ceph/jobs/sample.pl | 92 +++++++++++-------- branches/aleung/security1/ceph/mds/Locker.cc | 1 + branches/aleung/security1/ceph/mds/MDS.cc | 16 +++- .../aleung/security1/ceph/mon/OSDMonitor.cc | 2 +- branches/aleung/security1/ceph/osd/OSD.cc | 12 ++- 9 files changed, 87 insertions(+), 51 deletions(-) diff --git a/branches/aleung/security1/ceph/.groups b/branches/aleung/security1/ceph/.groups index 8d2178310144d..0c57473f8d222 100644 --- a/branches/aleung/security1/ceph/.groups +++ b/branches/aleung/security1/ceph/.groups @@ -1,4 +1,2 @@ 1000 1000 3500 -1 -100 3407 -1 -1500 384 555 -1 1020 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 -1 \ No newline at end of file diff --git a/branches/aleung/security1/ceph/Makefile b/branches/aleung/security1/ceph/Makefile index b2661c5c4f0da..30fa6041e60a0 100644 --- a/branches/aleung/security1/ceph/Makefile +++ b/branches/aleung/security1/ceph/Makefile @@ -22,8 +22,8 @@ CFLAGS = -ggdb3 -Wall -I. -D_FILE_OFFSET_BITS=64 -DMPICH_IGNORE_CXX_SEEK -D_REEN LDINC = ar -rc else # For linux -CFLAGS = -ggdb3 -Wall -I. -D_FILE_OFFSET_BITS=64 -DMPICH_IGNORE_CXX_SEEK -D_REENTRANT -D_THREAD_SAFE -#CFLAGS = -ggdb3 -O3 -Wall -I. -D_FILE_OFFSET_BITS=64 -DMPICH_IGNORE_CXX_SEEK -D_REENTRANT -D_THREAD_SAFE +#CFLAGS = -ggdb3 -Wall -I. -D_FILE_OFFSET_BITS=64 -DMPICH_IGNORE_CXX_SEEK -D_REENTRANT -D_THREAD_SAFE +CFLAGS = -ggdb3 -O3 -Wall -I. -D_FILE_OFFSET_BITS=64 -DMPICH_IGNORE_CXX_SEEK -D_REENTRANT -D_THREAD_SAFE LDINC = ld -i -o endif diff --git a/branches/aleung/security1/ceph/client/Client.cc b/branches/aleung/security1/ceph/client/Client.cc index d937e1e7850bf..f86d26d178661 100644 --- a/branches/aleung/security1/ceph/client/Client.cc +++ b/branches/aleung/security1/ceph/client/Client.cc @@ -1303,7 +1303,7 @@ int Client::unmount() // unsafe writes if (!g_conf.client_oc) { while (unsafe_sync_write > 0) { - dout(0) << unsafe_sync_write << " unsafe_sync_writes, waiting" + dout(2) << unsafe_sync_write << " unsafe_sync_writes, waiting" << endl; mount_cond.Wait(client_lock); } @@ -2896,7 +2896,7 @@ int Client::read(fh_t fh, char *buf, off_t size, off_t offset, if (!lazy && (in->file_caps() & (CAP_FILE_WRBUFFER|CAP_FILE_RDCACHE))) { // we're doing buffered i/o. make sure we're inside the file. // we can trust size info bc we get accurate info when buffering/caching caps are issued. - dout(-10) << "file size: " << in->inode.size << endl; + //dout(-10) << "file size: " << in->inode.size << endl; if (offset > 0 && offset >= in->inode.size) { client_lock.Unlock(); return 0; diff --git a/branches/aleung/security1/ceph/jobs/mds/open_wr_lat b/branches/aleung/security1/ceph/jobs/mds/open_wr_lat index 2ed3679e109c2..cb146d3f6d8de 100644 --- a/branches/aleung/security1/ceph/jobs/mds/open_wr_lat +++ b/branches/aleung/security1/ceph/jobs/mds/open_wr_lat @@ -6,7 +6,7 @@ 'nummds' => 1, 'numosd' => 4, - 'numclient' => [ 1, 5, 10, 15],#, 40, 80, 160 ], + 'numclient' => [ 1, 5, 10, 15, 40, 80, 160],#, 40, 80, 160 ], 'n' => 6, 'fs' => 'ebofs', @@ -19,10 +19,11 @@ #'makedirs' => 1, 'writefile' => 1, #'makedirs_dirs' => 10, - 'writefile_size' => [ 4096, 8*1024], + 'writefile_size' => 4096, #'makedirs_files' => 10, 'writefile_mb' => 1, 'fs' => 'ebofs', + 'secure_io' => [ 0, 1], #'makedirs_depth' => 5, #'mds_local_osd' => [ 0, 1 ], diff --git a/branches/aleung/security1/ceph/jobs/sample.pl b/branches/aleung/security1/ceph/jobs/sample.pl index c66d25a4b6681..dcac85c888678 100644 --- a/branches/aleung/security1/ceph/jobs/sample.pl +++ b/branches/aleung/security1/ceph/jobs/sample.pl @@ -2,22 +2,24 @@ # hi there { # startup - 'n' => 6, # number of mpi nodes + 'n' => 18, # number of mpi nodes 'sleep' => 3, # seconds to sleep between runs (so you have time to control-c out) 'nummds' => 1, - 'numosd' => 4, - 'numclient' => 5, + 'numosd' => 10, + 'numclient' => [10, 20, 30], 'until' => 100, # --syn until $n ... synthetic client will stop itself after this many seconds. - #'kill_after' => 300, # seconds before everything commits suicide (in case something hangs) + 'kill_after' => 300, # seconds before everything commits suicide (in case something hangs) # stuff i want to vary # here's a simple example: + #'_dep' => [ 'custom' => '"--syn only 0 --syn trace ../traces/IOR_trace_fileperproc.p9t.cephtrace 1"'], + # do --syn writefile command - 'writefile' => 1, + #'writefile' => 1, # and very the write size - 'writefile_size' => [ # vary + #'writefile_size' => 154112,#[ # vary #4096*1024, #2048*1024, #1024*1024, @@ -29,38 +31,56 @@ #32*1024, #28*1024, #24*1024, - 16*1024, - 12*1024, - 8*1024, - 4096, + #16*1024, + #12*1024, + #8*1024, + #4096, #256, #16, - #1 - ], - 'writefile_mb' => 10, # each client shoudl write 1GB (or more likely, keep going until time runs out) - - #'file_layout_num_rep'=> [1,2], # also vary the replication level - - # pass some other random things to newsyn - #'custom' => '--', - - # varies security off and security on - 'secure_io' => [0, 1], + #1, + #0 + #], + #'writefile_mb' => 10, # each client shoudl write 1GB (or more likely, keep going until time runs out) + #'unix_group_file' => '.groups', + 'preload_unix_groups' => 1, + 'fix_client_id' => 1, + 'client_oc' => 0, + 'mds_beacon_grace'=> 100000, + 'file_layout_num_rep' => 1, + 'mds_group' => [-1,0,1,4], - 'mds_group' => [0, 1], - 'unix_group_file' => '.groups', - 'fix_client_id' => 1, - 'client_oc' => 0, - - 'fs' => 'ebofs', - # for final summation (script/sum.pl) - # specify time period to look at the results - 'start' => 0, # skip first 30 seconds, so that caches are full etc. - 'end' => 90, # go for 60 seconds + # pass some other random things to newsyn + #'custom' => '--', + #'_dep' => [ 'custom' => '"--syn only 0 --syn rw 1 100000"'], + #'_dep' => [ 'custom' => '"--numclient 40 --syn trace tracepaths.cephtrace 1 --syn only 0 --syn trace IOR2/IOR_trace_fileperproc.p1t.cephtrace 2 --syn only 1 --syn trace IOR2/IOR_trace_fileperproc.p1t.cephtrace 2 --syn only 2 --syn trace IOR2/IOR_trace_fileperproc.p2t.cephtrace 2 --syn only 3 --syn trace IOR2/IOR_trace_fileperproc.p3t.cephtrace 2 --syn only 9 --syn trace IOR2/IOR_trace_fileperproc.p9t.cephtrace 2 --syn only 4 --syn trace IOR2/IOR_trace_fileperproc.p4t.cephtrace 2 --syn only 5 --syn trace IOR2/IOR_trace_fileperproc.p5t.cephtrace 2 --syn only 6 --syn trace IOR2/IOR_trace_fileperproc.p6t.cephtrace 2 --syn only 7 --syn trace IOR2/IOR_trace_fileperproc.p7t.cephtrace 2 --syn only 8 --syn trace IOR2/IOR_trace_fileperproc.p8t.cephtrace 2 --syn only 10 --syn trace IOR2/IOR_trace_fileperproc.p10t.cephtrace 2 --syn only 11 --syn trace IOR2/IOR_trace_fileperproc.p11t.cephtrace 2 --syn only 12 --syn trace IOR2/IOR_trace_fileperproc.p12t.cephtrace 2 --syn only 13 --syn trace IOR2/IOR_trace_fileperproc.p13t.cephtrace 2 --syn only 19 --syn trace IOR2/IOR_trace_fileperproc.p19t.cephtrace 2 --syn only 14 --syn trace IOR2/IOR_trace_fileperproc.p14t.cephtrace 2 --syn only 15 --syn trace IOR2/IOR_trace_fileperproc.p15t.cephtrace 2 --syn only 16 --syn trace IOR2/IOR_trace_fileperproc.p16t.cephtrace 2 --syn only 17 --syn trace IOR2/IOR_trace_fileperproc.p17t.cephtrace 2 --syn only 18 --syn trace IOR2/IOR_trace_fileperproc.p18t.cephtrace 2 --syn only 20 --syn trace IOR2/IOR_trace_fileperproc.p20t.cephtrace 2 --syn only 21 --syn trace IOR2/IOR_trace_fileperproc.p21t.cephtrace 2 --syn only 22 --syn trace IOR2/IOR_trace_fileperproc.p22t.cephtrace 2 --syn only 23 --syn trace IOR2/IOR_trace_fileperproc.p23t.cephtrace 2 --syn only 24 --syn trace IOR2/IOR_trace_fileperproc.p24t.cephtrace 2 --syn only 25 --syn trace IOR2/IOR_trace_fileperproc.p25t.cephtrace 2 --syn only 26 --syn trace IOR2/IOR_trace_fileperproc.p26t.cephtrace 2 --syn only 27 --syn trace IOR2/IOR_trace_fileperproc.p27t.cephtrace 2 --syn only 28 --syn trace IOR2/IOR_trace_fileperproc.p28t.cephtrace 2 --syn only 29 --syn trace IOR2/IOR_trace_fileperproc.p29t.cephtrace 2 --syn only 30 --syn trace IOR2/IOR_trace_fileperproc.p30t.cephtrace 2 --syn only 31 --syn trace IOR2/IOR_trace_fileperproc.p31t.cephtrace 2 --syn only 32 --syn trace IOR2/IOR_trace_fileperproc.p32t.cephtrace 2 --syn only 33 --syn trace IOR2/IOR_trace_fileperproc.p33t.cephtrace 2 --syn only 34 --syn trace IOR2/IOR_trace_fileperproc.p34t.cephtrace 2 --syn only 35 --syn trace IOR2/IOR_trace_fileperproc.p35t.cephtrace 2 --syn only 36 --syn trace IOR2/IOR_trace_fileperproc.p36t.cephtrace 2 --syn only 37 --syn trace IOR2/IOR_trace_fileperproc.p37t.cephtrace 2 --syn only 38 --syn trace IOR2/IOR_trace_fileperproc.p38t.cephtrace 2 --syn only 39 --syn trace IOR2/IOR_trace_fileperproc.p39t.cephtrace 2"'], + #'_dep' => ['secure_io' => '"$mds_group < 0 ? 0:1"', + #'custom' => ,'"--syn trace IOR2/tracepaths.cephtrace 1 --syn only 0 --syn trace IOR2/IOR_trace_fileperproc.p1t.cephtrace 2 --syn only 1 --syn trace IOR2/IOR_trace_fileperproc.p1t.cephtrace 2 --syn only 2 --syn trace IOR2/IOR_trace_fileperproc.p2t.cephtrace 2 --syn only 3 --syn trace IOR2/IOR_trace_fileperproc.p3t.cephtrace 2 --syn only 4 --syn trace IOR2/IOR_trace_fileperproc.p4t.cephtrace 2 --syn only 5 --syn trace IOR2/IOR_trace_fileperproc.p5t.cephtrace 2 --syn only 6 --syn trace IOR2/IOR_trace_fileperproc.p6t.cephtrace 2 --syn only 7 --syn trace IOR2/IOR_trace_fileperproc.p7t.cephtrace 2 --syn only 8 --syn trace IOR2/IOR_trace_fileperproc.p8t.cephtrace 2 --syn only 9 --syn trace IOR2/IOR_trace_fileperproc.p9t.cephtrace 2 --syn only 10 --syn trace IOR2/IOR_trace_fileperproc.p10t.cephtrace 2 --syn only 11 --syn trace IOR2/IOR_trace_fileperproc.p11t.cephtrace 2 --syn only 12 --syn trace IOR2/IOR_trace_fileperproc.p12t.cephtrace 2 --syn only 13 --syn trace IOR2/IOR_trace_fileperproc.p13t.cephtrace 2 --syn only 14 --syn trace IOR2/IOR_trace_fileperproc.p14t.cephtrace 2 --syn only 15 --syn trace IOR2/IOR_trace_fileperproc.p15t.cephtrace 2 --syn only 16 --syn trace IOR2/IOR_trace_fileperproc.p16t.cephtrace 2 --syn only 17 --syn trace IOR2/IOR_trace_fileperproc.p17t.cephtrace 2 --syn only 18 --syn trace IOR2/IOR_trace_fileperproc.p18t.cephtrace 2 --syn only 19 --syn trace IOR2/IOR_trace_fileperproc.p19t.cephtrace 2 --syn only 20 --syn trace IOR2/IOR_trace_fileperproc.p20t.cephtrace 2 --syn only 21 --syn trace IOR2/IOR_trace_fileperproc.p21t.cephtrace 2 --syn only 22 --syn trace IOR2/IOR_trace_fileperproc.p22t.cephtrace 2 --syn only 23 --syn trace IOR2/IOR_trace_fileperproc.p23t.cephtrace 2 --syn only 24 --syn trace IOR2/IOR_trace_fileperproc.p24t.cephtrace 2 --syn only 25 --syn trace IOR2/IOR_trace_fileperproc.p25t.cephtrace 2 --syn only 26 --syn trace IOR2/IOR_trace_fileperproc.p26t.cephtrace 2 --syn only 27 --syn trace IOR2/IOR_trace_fileperproc.p27t.cephtrace 2 --syn only 28 --syn trace IOR2/IOR_trace_fileperproc.p28t.cephtrace 2 --syn only 29 --syn trace IOR2/IOR_trace_fileperproc.p29t.cephtrace 2 --syn only 30 --syn trace IOR2/IOR_trace_fileperproc.p30t.cephtrace 2 --syn only 31 --syn trace IOR2/IOR_trace_fileperproc.p31t.cephtrace 2 --syn only 32 --syn trace IOR2/IOR_trace_fileperproc.p32t.cephtrace 2 --syn only 33 --syn trace IOR2/IOR_trace_fileperproc.p33t.cephtrace 2 --syn only 34 --syn trace IOR2/IOR_trace_fileperproc.p34t.cephtrace 2 --syn only 35 --syn trace IOR2/IOR_trace_fileperproc.p35t.cephtrace 2 --syn only 36 --syn trace IOR2/IOR_trace_fileperproc.p36t.cephtrace 2 --syn only 37 --syn trace IOR2/IOR_trace_fileperproc.p37t.cephtrace 2 --syn only 38 --syn trace IOR2/IOR_trace_fileperproc.p38t.cephtrace 2 --syn only 39 --syn trace IOR2/IOR_trace_fileperproc.p39t.cephtrace 2 --syn only 40 --syn trace IOR2/IOR_trace_fileperproc.p40t.cephtrace 2 --syn only 41 --syn trace IOR2/IOR_trace_fileperproc.p41t.cephtrace 2 --syn only 42 --syn trace IOR2/IOR_trace_fileperproc.p42t.cephtrace 2 --syn only 43 --syn trace IOR2/IOR_trace_fileperproc.p43t.cephtrace 2 --syn only 44 --syn trace IOR2/IOR_trace_fileperproc.p44t.cephtrace 2 --syn only 45 --syn trace IOR2/IOR_trace_fileperproc.p45t.cephtrace 2 --syn only 46 --syn trace IOR2/IOR_trace_fileperproc.p46t.cephtrace 2 --syn only 47 --syn trace IOR2/IOR_trace_fileperproc.p47t.cephtrace 2 --syn only 48 --syn trace IOR2/IOR_trace_fileperproc.p48t.cephtrace 2 --syn only 49 --syn trace IOR2/IOR_trace_fileperproc.p49t.cephtrace 2 --syn only 50 --syn trace IOR2/IOR_trace_fileperproc.p50t.cephtrace 2"'], + '_dep' => ['secure_io' => '$mds_group < 0 ? 0:1', + 'custom' => '"--secure_io $secure_io --mds_group $mds_group --syn trace IOR2/tracepaths.cephtrace 1 --syn only 0 --syn trace IOR2/IOR_trace_fileperproc.p1t.cephtrace 2 --syn only 1 --syn trace IOR2/IOR_trace_fileperproc.p1t.cephtrace 2 --syn only 2 --syn trace IOR2/IOR_trace_fileperproc.p2t.cephtrace 2 --syn only 3 --syn trace IOR2/IOR_trace_fileperproc.p3t.cephtrace 2 --syn only 4 --syn trace IOR2/IOR_trace_fileperproc.p4t.cephtrace 2 --syn only 5 --syn trace IOR2/IOR_trace_fileperproc.p5t.cephtrace 2 --syn only 6 --syn trace IOR2/IOR_trace_fileperproc.p6t.cephtrace 2 --syn only 7 --syn trace IOR2/IOR_trace_fileperproc.p7t.cephtrace 2 --syn only 8 --syn trace IOR2/IOR_trace_fileperproc.p8t.cephtrace 2 --syn only 9 --syn trace IOR2/IOR_trace_fileperproc.p9t.cephtrace 2 --syn only 10 --syn trace IOR2/IOR_trace_fileperproc.p10t.cephtrace 2 --syn only 11 --syn trace IOR2/IOR_trace_fileperproc.p11t.cephtrace 2 --syn only 12 --syn trace IOR2/IOR_trace_fileperproc.p12t.cephtrace 2 --syn only 13 --syn trace IOR2/IOR_trace_fileperproc.p13t.cephtrace 2 --syn only 14 --syn trace IOR2/IOR_trace_fileperproc.p14t.cephtrace 2 --syn only 15 --syn trace IOR2/IOR_trace_fileperproc.p15t.cephtrace 2 --syn only 16 --syn trace IOR2/IOR_trace_fileperproc.p16t.cephtrace 2 --syn only 17 --syn trace IOR2/IOR_trace_fileperproc.p17t.cephtrace 2 --syn only 18 --syn trace IOR2/IOR_trace_fileperproc.p18t.cephtrace 2 --syn only 19 --syn trace IOR2/IOR_trace_fileperproc.p19t.cephtrace 2 --syn only 20 --syn trace IOR2/IOR_trace_fileperproc.p20t.cephtrace 2 --syn only 21 --syn trace IOR2/IOR_trace_fileperproc.p21t.cephtrace 2 --syn only 22 --syn trace IOR2/IOR_trace_fileperproc.p22t.cephtrace 2 --syn only 23 --syn trace IOR2/IOR_trace_fileperproc.p23t.cephtrace 2 --syn only 24 --syn trace IOR2/IOR_trace_fileperproc.p24t.cephtrace 2 --syn only 25 --syn trace IOR2/IOR_trace_fileperproc.p25t.cephtrace 2 --syn only 26 --syn trace IOR2/IOR_trace_fileperproc.p26t.cephtrace 2 --syn only 27 --syn trace IOR2/IOR_trace_fileperproc.p27t.cephtrace 2 --syn only 28 --syn trace IOR2/IOR_trace_fileperproc.p28t.cephtrace 2 --syn only 29 --syn trace IOR2/IOR_trace_fileperproc.p29t.cephtrace 2 --syn only 30 --syn trace IOR2/IOR_trace_fileperproc.p30t.cephtrace 2 --syn only 31 --syn trace IOR2/IOR_trace_fileperproc.p31t.cephtrace 2 --syn only 32 --syn trace IOR2/IOR_trace_fileperproc.p32t.cephtrace 2 --syn only 33 --syn trace IOR2/IOR_trace_fileperproc.p33t.cephtrace 2 --syn only 34 --syn trace IOR2/IOR_trace_fileperproc.p34t.cephtrace 2 --syn only 35 --syn trace IOR2/IOR_trace_fileperproc.p35t.cephtrace 2 --syn only 36 --syn trace IOR2/IOR_trace_fileperproc.p36t.cephtrace 2 --syn only 37 --syn trace IOR2/IOR_trace_fileperproc.p37t.cephtrace 2 --syn only 38 --syn trace IOR2/IOR_trace_fileperproc.p38t.cephtrace 2 --syn only 39 --syn trace IOR2/IOR_trace_fileperproc.p39t.cephtrace 2 --syn only 40 --syn trace IOR2/IOR_trace_fileperproc.p40t.cephtrace 2 --syn only 41 --syn trace IOR2/IOR_trace_fileperproc.p41t.cephtrace 2 --syn only 42 --syn trace IOR2/IOR_trace_fileperproc.p42t.cephtrace 2 --syn only 43 --syn trace IOR2/IOR_trace_fileperproc.p43t.cephtrace 2 --syn only 44 --syn trace IOR2/IOR_trace_fileperproc.p44t.cephtrace 2 --syn only 45 --syn trace IOR2/IOR_trace_fileperproc.p45t.cephtrace 2 --syn only 46 --syn trace IOR2/IOR_trace_fileperproc.p46t.cephtrace 2 --syn only 47 --syn trace IOR2/IOR_trace_fileperproc.p47t.cephtrace 2 --syn only 48 --syn trace IOR2/IOR_trace_fileperproc.p48t.cephtrace 2 --syn only 49 --syn trace IOR2/IOR_trace_fileperproc.p49t.cephtrace 2 --syn only 50 --syn trace IOR2/IOR_trace_fileperproc.p50t.cephtrace 2 --syn only 51 --syn trace IOR2/IOR_trace_fileperproc.p51t.cephtrace 2 --syn only 52 --syn trace IOR2/IOR_trace_fileperproc.p52t.cephtrace 2 --syn only 53 --syn trace IOR2/IOR_trace_fileperproc.p53t.cephtrace 2 --syn only 54 --syn trace IOR2/IOR_trace_fileperproc.p54t.cephtrace 2 --syn only 55 --syn trace IOR2/IOR_trace_fileperproc.p55t.cephtrace 2 --syn only 56 --syn trace IOR2/IOR_trace_fileperproc.p56t.cephtrace 2 --syn only 57 --syn trace IOR2/IOR_trace_fileperproc.p57t.cephtrace 2 --syn only 58 --syn trace IOR2/IOR_trace_fileperproc.p58t.cephtrace 2 --syn only 59 --syn trace IOR2/IOR_trace_fileperproc.p59t.cephtrace 2 --syn only 60 --syn trace IOR2/IOR_trace_fileperproc.p60t.cephtrace 2 --syn only 61 --syn trace IOR2/IOR_trace_fileperproc.p61t.cephtrace 2 --syn only 62 --syn trace IOR2/IOR_trace_fileperproc.p62t.cephtrace 2 --syn only 63 --syn trace IOR2/IOR_trace_fileperproc.p63t.cephtrace 2 --syn only 64 --syn trace IOR2/IOR_trace_fileperproc.p64t.cephtrace 2 --syn only 65 --syn trace IOR2/IOR_trace_fileperproc.p65t.cephtrace 2 --syn only 66 --syn trace IOR2/IOR_trace_fileperproc.p66t.cephtrace 2 --syn only 67 --syn trace IOR2/IOR_trace_fileperproc.p67t.cephtrace 2 --syn only 68 --syn trace IOR2/IOR_trace_fileperproc.p68t.cephtrace 2 --syn only 69 --syn trace IOR2/IOR_trace_fileperproc.p69t.cephtrace 2 --syn only 70 --syn trace IOR2/IOR_trace_fileperproc.p70t.cephtrace 2 --syn only 71 --syn trace IOR2/IOR_trace_fileperproc.p71t.cephtrace 2 --syn only 72 --syn trace IOR2/IOR_trace_fileperproc.p72t.cephtrace 2 --syn only 73 --syn trace IOR2/IOR_trace_fileperproc.p73t.cephtrace 2 --syn only 74 --syn trace IOR2/IOR_trace_fileperproc.p74t.cephtrace 2 --syn only 75 --syn trace IOR2/IOR_trace_fileperproc.p75t.cephtrace 2 --syn only 76 --syn trace IOR2/IOR_trace_fileperproc.p76t.cephtrace 2 --syn only 77 --syn trace IOR2/IOR_trace_fileperproc.p77t.cephtrace 2 --syn only 78 --syn trace IOR2/IOR_trace_fileperproc.p78t.cephtrace 2 --syn only 79 --syn trace IOR2/IOR_trace_fileperproc.p79t.cephtrace 2 --syn only 80 --syn trace IOR2/IOR_trace_fileperproc.p80t.cephtrace 2 --syn only 81 --syn trace IOR2/IOR_trace_fileperproc.p81t.cephtrace 2 --syn only 82 --syn trace IOR2/IOR_trace_fileperproc.p82t.cephtrace 2 --syn only 83 --syn trace IOR2/IOR_trace_fileperproc.p83t.cephtrace 2 --syn only 84 --syn trace IOR2/IOR_trace_fileperproc.p84t.cephtrace 2 --syn only 85 --syn trace IOR2/IOR_trace_fileperproc.p85t.cephtrace 2 --syn only 86 --syn trace IOR2/IOR_trace_fileperproc.p86t.cephtrace 2 --syn only 87 --syn trace IOR2/IOR_trace_fileperproc.p87t.cephtrace 2 --syn only 88 --syn trace IOR2/IOR_trace_fileperproc.p88t.cephtrace 2 --syn only 89 --syn trace IOR2/IOR_trace_fileperproc.p89t.cephtrace 2 --syn only 90 --syn trace IOR2/IOR_trace_fileperproc.p90t.cephtrace 2 --syn only 91 --syn trace IOR2/IOR_trace_fileperproc.p91t.cephtrace 2 --syn only 92 --syn trace IOR2/IOR_trace_fileperproc.p92t.cephtrace 2 --syn only 93 --syn trace IOR2/IOR_trace_fileperproc.p93t.cephtrace 2 --syn only 94 --syn trace IOR2/IOR_trace_fileperproc.p94t.cephtrace 2 --syn only 95 --syn trace IOR2/IOR_trace_fileperproc.p95t.cephtrace 2 --syn only 96 --syn trace IOR2/IOR_trace_fileperproc.p96t.cephtrace 2 --syn only 97 --syn trace IOR2/IOR_trace_fileperproc.p97t.cephtrace 2 --syn only 98 --syn trace IOR2/IOR_trace_fileperproc.p98t.cephtrace 2 --syn only 99 --syn trace IOR2/IOR_trace_fileperproc.p99t.cephtrace 2 --syn only 100 --syn trace IOR2/IOR_trace_fileperproc.p100t.cephtrace 2 --syn only 101 --syn trace IOR2/IOR_trace_fileperproc.p101t.cephtrace 2 --syn only 102 --syn trace IOR2/IOR_trace_fileperproc.p102t.cephtrace 2 --syn only 103 --syn trace IOR2/IOR_trace_fileperproc.p103t.cephtrace 2 --syn only 104 --syn trace IOR2/IOR_trace_fileperproc.p104t.cephtrace 2 --syn only 105 --syn trace IOR2/IOR_trace_fileperproc.p105t.cephtrace 2 --syn only 106 --syn trace IOR2/IOR_trace_fileperproc.p106t.cephtrace 2 --syn only 107 --syn trace IOR2/IOR_trace_fileperproc.p107t.cephtrace 2 --syn only 108 --syn trace IOR2/IOR_trace_fileperproc.p108t.cephtrace 2 --syn only 109 --syn trace IOR2/IOR_trace_fileperproc.p109t.cephtrace 2 --syn only 110 --syn trace IOR2/IOR_trace_fileperproc.p110t.cephtrace 2 --syn only 111 --syn trace IOR2/IOR_trace_fileperproc.p111t.cephtrace 2 --syn only 112 --syn trace IOR2/IOR_trace_fileperproc.p112t.cephtrace 2 --syn only 113 --syn trace IOR2/IOR_trace_fileperproc.p113t.cephtrace 2 --syn only 114 --syn trace IOR2/IOR_trace_fileperproc.p114t.cephtrace 2 --syn only 115 --syn trace IOR2/IOR_trace_fileperproc.p115t.cephtrace 2 --syn only 116 --syn trace IOR2/IOR_trace_fileperproc.p116t.cephtrace 2 --syn only 117 --syn trace IOR2/IOR_trace_fileperproc.p117t.cephtrace 2 --syn only 118 --syn trace IOR2/IOR_trace_fileperproc.p118t.cephtrace 2 --syn only 119 --syn trace IOR2/IOR_trace_fileperproc.p119t.cephtrace 2 --syn only 120 --syn trace IOR2/IOR_trace_fileperproc.p120t.cephtrace 2 --syn only 121 --syn trace IOR2/IOR_trace_fileperproc.p121t.cephtrace 2 --syn only 122 --syn trace IOR2/IOR_trace_fileperproc.p122t.cephtrace 2 --syn only 123 --syn trace IOR2/IOR_trace_fileperproc.p123t.cephtrace 2 --syn only 124 --syn trace IOR2/IOR_trace_fileperproc.p124t.cephtrace 2 --syn only 125 --syn trace IOR2/IOR_trace_fileperproc.p125t.cephtrace 2 --syn only 126 --syn trace IOR2/IOR_trace_fileperproc.p126t.cephtrace 2 --syn only 127 --syn trace IOR2/IOR_trace_fileperproc.p127t.cephtrace 2 --syn only 128 --syn trace IOR2/IOR_trace_fileperproc.p128t.cephtrace 2 --syn only 129 --syn trace IOR2/IOR_trace_fileperproc.p129t.cephtrace 2 --syn only 130 --syn trace IOR2/IOR_trace_fileperproc.p130t.cephtrace 2 --syn only 131 --syn trace IOR2/IOR_trace_fileperproc.p131t.cephtrace 2 --syn only 132 --syn trace IOR2/IOR_trace_fileperproc.p132t.cephtrace 2 --syn only 133 --syn trace IOR2/IOR_trace_fileperproc.p133t.cephtrace 2 --syn only 134 --syn trace IOR2/IOR_trace_fileperproc.p134t.cephtrace 2 --syn only 135 --syn trace IOR2/IOR_trace_fileperproc.p135t.cephtrace 2 --syn only 136 --syn trace IOR2/IOR_trace_fileperproc.p136t.cephtrace 2 --syn only 137 --syn trace IOR2/IOR_trace_fileperproc.p137t.cephtrace 2 --syn only 138 --syn trace IOR2/IOR_trace_fileperproc.p138t.cephtrace 2 --syn only 139 --syn trace IOR2/IOR_trace_fileperproc.p139t.cephtrace 2 --syn only 140 --syn trace IOR2/IOR_trace_fileperproc.p140t.cephtrace 2 --syn only 141 --syn trace IOR2/IOR_trace_fileperproc.p141t.cephtrace 2 --syn only 142 --syn trace IOR2/IOR_trace_fileperproc.p142t.cephtrace 2 --syn only 143 --syn trace IOR2/IOR_trace_fileperproc.p143t.cephtrace 2 --syn only 144 --syn trace IOR2/IOR_trace_fileperproc.p144t.cephtrace 2 --syn only 145 --syn trace IOR2/IOR_trace_fileperproc.p145t.cephtrace 2 --syn only 146 --syn trace IOR2/IOR_trace_fileperproc.p146t.cephtrace 2 --syn only 147 --syn trace IOR2/IOR_trace_fileperproc.p147t.cephtrace 2 --syn only 148 --syn trace IOR2/IOR_trace_fileperproc.p148t.cephtrace 2 --syn only 149 --syn trace IOR2/IOR_trace_fileperproc.p149t.cephtrace 2 --syn only 150 --syn trace IOR2/IOR_trace_fileperproc.p150t.cephtrace 2 --syn only 151 --syn trace IOR2/IOR_trace_fileperproc.p151t.cephtrace 2 --syn only 152 --syn trace IOR2/IOR_trace_fileperproc.p152t.cephtrace 2 --syn only 153 --syn trace IOR2/IOR_trace_fileperproc.p153t.cephtrace 2 --syn only 154 --syn trace IOR2/IOR_trace_fileperproc.p154t.cephtrace 2 --syn only 155 --syn trace IOR2/IOR_trace_fileperproc.p155t.cephtrace 2 --syn only 156 --syn trace IOR2/IOR_trace_fileperproc.p156t.cephtrace 2 --syn only 157 --syn trace IOR2/IOR_trace_fileperproc.p157t.cephtrace 2 --syn only 158 --syn trace IOR2/IOR_trace_fileperproc.p158t.cephtrace 2 --syn only 159 --syn trace IOR2/IOR_trace_fileperproc.p159t.cephtrace 2 --syn only 160 --syn trace IOR2/IOR_trace_fileperproc.p160t.cephtrace 2"'], + + # varies security off and security on + #'secure_io' => [0, 1], + + #'mds_group' => [0, 1, 4], + #'_dep' => ['secure_io' => '$mds_group < 0 ? 0:1'], + #'unix_group_file' => '.groups', + #'fix_client_id' => 1, + #'client_oc' => 0, + #'mds_beacon_grace'=> 100000, + #'file_layout_num_rep' => 1, + #'osd_pg_bits' => 10, + + 'fs' => 'ebofs', + # for final summation (script/sum.pl) + # specify time period to look at the results + 'start' => 0, # skip first 30 seconds, so that caches are full etc. + 'end' => 90, # go for 60 seconds - # what should i parse/plot? - 'comb' => { - 'x' => 'writefile_size', - 'vars' => [ 'osd.c_wrb', 'osd.r_wrb' ], - } + # what should i parse/plot? + 'comb' => { + #'x' => 'writefile_size', + 'x' => 'numclient', + 'vars' => [ 'osd.c_wrb' ], + #'vars' => [ 'osd.c_wrb', 'mds.lsum', 'cl.wrlat' ], + } }; diff --git a/branches/aleung/security1/ceph/mds/Locker.cc b/branches/aleung/security1/ceph/mds/Locker.cc index f4a5530edf5ac..4e4bbdbbde9af 100644 --- a/branches/aleung/security1/ceph/mds/Locker.cc +++ b/branches/aleung/security1/ceph/mds/Locker.cc @@ -230,6 +230,7 @@ ExtCap* Locker::issue_new_extcaps(CInode *in, int mode, MClientRequest *req) { // get the uid uid_t my_user = req->get_caller_uid(); gid_t my_group = req->get_caller_gid(); + //cout << "User " << my_user << " Group " << my_group << endl; // issue most generic cap (RW) int my_want = 0; diff --git a/branches/aleung/security1/ceph/mds/MDS.cc b/branches/aleung/security1/ceph/mds/MDS.cc index 9dcf7d3a2b043..ca5f360e94693 100644 --- a/branches/aleung/security1/ceph/mds/MDS.cc +++ b/branches/aleung/security1/ceph/mds/MDS.cc @@ -104,14 +104,14 @@ MDS::MDS(int whoami, Messenger *m, MonMap *mm) : timer(mds_lock) { list uid_list; for (int start_uid = 340; start_uid <= 520; start_uid++) { uid_list.push_back(start_uid); - cout << start_uid << ", "; + //cout << start_uid << ", "; } CapGroup cgroup; cgroup.set_list(uid_list); cgroup.sign_list(myPrivKey); unix_groups_byhash[cgroup.get_root_hash()] = cgroup; unix_groups_map[group_gid] = cgroup.get_root_hash(); - cout << endl << "hash " << cgroup.get_root_hash() << endl; + //cout << endl << "hash " << cgroup.get_root_hash() << endl; } @@ -133,7 +133,7 @@ MDS::MDS(int whoami, Messenger *m, MonMap *mm) : timer(mds_lock) { seen_gid = false; // copy hash into map unix_groups_map[my_gid] = my_group->get_root_hash(); - cout << " " << my_group->get_root_hash() << endl; + //cout << " " << my_group->get_root_hash() << endl; delete my_group; } // first number on line is gid, rest are uids @@ -143,7 +143,7 @@ MDS::MDS(int whoami, Messenger *m, MonMap *mm) : timer(mds_lock) { //unix_groups[my_gid].set_gid(my_gid); my_group = new CapGroup(); seen_gid = true; - cout << "Gid: " << my_gid; + //cout << "Gid: " << my_gid; } else { my_uid = input; @@ -156,7 +156,7 @@ MDS::MDS(int whoami, Messenger *m, MonMap *mm) : timer(mds_lock) { // update the map unix_groups_byhash[my_group->get_root_hash()] = (*my_group); - cout << " uid: " << my_uid; + //cout << " uid: " << my_uid; } } from.close(); @@ -165,6 +165,7 @@ MDS::MDS(int whoami, Messenger *m, MonMap *mm) : timer(mds_lock) { cout << "Failed to open the unix_group_file" << endl; assert(0); } + cout << "Done doing unix group crap" << endl; } // do prediction read-in @@ -358,6 +359,8 @@ int MDS::init(bool standby) // schedule tick reset_tick(); + reopen_logger(); + mds_lock.Unlock(); return 0; } @@ -914,6 +917,9 @@ int MDS::shutdown_final() { dout(1) << "shutdown_final" << endl; + if (logger) logger->flush(true); + if (logger2) logger2->flush(true); + // send final down:out beacon (it doesn't matter if this arrives) set_want_state(MDSMap::STATE_OUT); diff --git a/branches/aleung/security1/ceph/mon/OSDMonitor.cc b/branches/aleung/security1/ceph/mon/OSDMonitor.cc index 0f527ba035242..54dd2904185b6 100644 --- a/branches/aleung/security1/ceph/mon/OSDMonitor.cc +++ b/branches/aleung/security1/ceph/mon/OSDMonitor.cc @@ -136,7 +136,7 @@ void OSDMonitor::create_initial() } // 2 bits per osd. - osdmap.set_pg_bits(osdbits + 2); + osdmap.set_pg_bits(osdbits + 7); } // start at epoch 0 until all osds boot diff --git a/branches/aleung/security1/ceph/osd/OSD.cc b/branches/aleung/security1/ceph/osd/OSD.cc index 6a244a8989a1c..a9ce630d3ea0a 100644 --- a/branches/aleung/security1/ceph/osd/OSD.cc +++ b/branches/aleung/security1/ceph/osd/OSD.cc @@ -3024,7 +3024,17 @@ void OSD::op_read(MOSDOp *op)//, PG *pg) return; } } + else if (op_capability->get_type() == USER_BATCH) { + hash_t my_hash = op_capability->get_file_hash(); + // do we have group cached? if not, update group + // we will lose execution control here! re-gain on reply + if (user_groups.count(my_hash) == 0) { + outstanding_updates[op->get_reqid()] = read_time_start; + update_group(op->get_client_inst(), my_hash, op); + return; + } + } // check accesses are right if (check_request(op, op_capability)) { dout(3) << "Access permissions are correct" << endl; @@ -3070,7 +3080,7 @@ void OSD::op_read(MOSDOp *op)//, PG *pg) reply->set_length(0); } - dout(10) << " read got " << r << " / " << op->get_length() << " bytes from obj " << oid << endl; + dout(3) << " read got " << r << " / " << op->get_length() << " bytes from obj " << oid << endl; logger->inc("rd"); if (r >= 0) logger->inc("rdb", r); -- 2.39.5