Changeset 24539
- Timestamp:
- Jun 24, 2009, 11:20:15 AM (17 years ago)
- Location:
- trunk/Nebulous-Server
- Files:
-
- 3 edited
-
bin/nebdiskd (modified) (3 diffs)
-
lib/Nebulous/Server/SQL.pm (modified) (5 diffs)
-
scripts/dirize.pl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Nebulous-Server/bin/nebdiskd
r24411 r24539 67 67 $retry ||= $c->get_retry || 1; 68 68 69 my $mounts = $c->get_mounts;69 #my $mounts = $c->get_mounts; 70 70 my $poll_interval = $c->get_poll_interval || 5; 71 71 … … 178 178 eval { 179 179 my $r_query = $dbh->prepare_cached("REPLACE INTO mount VALUES(?, ?, ?)"); 180 my $d_query = $dbh->prepare_cached("DELETE FROM mount WHERE mountpoint = ?"); 181 180 my $d_query = $dbh->prepare_cached("DELETE FROM mount, mountedvol WHERE mountpoint = ?"); 181 182 # get list of mount points 183 my $mounts = []; 184 { 185 my $query = $dbh->prepared_cached("SELECT mountpoint FROM volume"); 186 $query->execute; 187 while (my $row = $query->fetchrow_hashref) { 188 push @$mounts, $row->{'mountpoint'}; 189 } 190 $query->finish; 191 } 192 182 193 # determine valid mountpoints 183 194 foreach my $mnt (@$mounts) { … … 212 223 } 213 224 225 # find vol_id(s) for mountpoint 214 226 $r_query->execute($mnt, @$dev_info{qw( blocks used )}); 215 227 $log->debug("adding $mnt to db"); -
trunk/Nebulous-Server/lib/Nebulous/Server/SQL.pm
r24500 r24539 517 517 name VARCHAR(255) UNIQUE NOT NULL, 518 518 host VARCHAR(255) NOT NULL, 519 path VARCHAR(255) NOT NULL, 519 path VARCHAR(255) UNIQUE NOT NULL, 520 mountpoint VARCHAR(255) NOT NULL, 520 521 allocate BOOLEAN DEFAULT FALSE, 521 522 available BOOLEAN DEFAULT FALSE, … … 523 524 PRIMARY KEY(vol_id), 524 525 KEY(host(16)), 525 KEY( path(255)),526 KEY(mountpoint(255)), 526 527 KEY(allocate), 527 528 KEY(available) … … 609 610 610 611 -- store the okey checking state 611 SELECT @@FOREIGN_KEY_CHECKS INTO key_checks;612 -- SELECT @@FOREIGN_KEY_CHECKS INTO key_checks; 612 613 -- disable foregin check checks to prevent deadlocks on the mountedvol table 613 SET FOREIGN_KEY_CHECKS=0;614 -- SET FOREIGN_KEY_CHECKS=0; 614 615 615 616 -- make sure the temp table does not already exist... this can happy if the … … 630 631 OPEN cur1; 631 632 632 DELETE FROM mountedvol;633 634 633 myloop: LOOP 635 634 FETCH cur1 INTO vol_idvar, namevar, hostvar, pathvar, allocatevar, availablevar, xattrvar; 636 635 IF `done` THEN LEAVE myloop; END IF; 637 INSERTINTO mountedvol636 REPLACE INTO mountedvol 638 637 SELECT mountpoint, total, used, vol_idvar, namevar, hostvar, pathvar, allocatevar, availablevar, xattrvar 639 638 FROM … … 651 650 652 651 -- restore the original key checking state 653 SET @@FOREIGN_KEY_CHECKS = key_checks;652 -- SET @@FOREIGN_KEY_CHECKS = key_checks; 654 653 655 654 DROP TABLE IF EXISTS myvolume; 656 655 657 SET FOREIGN_KEY_CHECKS=1;656 -- SET FOREIGN_KEY_CHECKS=1; 658 657 659 658 COMMIT; -
trunk/Nebulous-Server/scripts/dirize.pl
r24521 r24539 44 44 # non-existant value 45 45 $db->do("SET FOREIGN_KEY_CHECKS=0"); 46 $db->do("UPDATE storage_object SET dir_id = 0");46 #$db->do("UPDATE storage_object SET dir_id = 0"); 47 47 48 48 # completely reset the directory table 49 $db->do("DELETE FROM directory");50 $db->do("ALTER TABLE directory AUTO_INCREMENT = 1");49 #$db->do("DELETE FROM directory"); 50 #$db->do("ALTER TABLE directory AUTO_INCREMENT = 1"); 51 51 # make sure these duplicates can't happen again 52 $db->do("alter table directory add unique key(dirname,parent_id)");52 #$db->do("alter table directory add unique key(dirname,parent_id)"); 53 53 # seed the root ('/') directory 54 $db->do("INSERT INTO directory VALUES(1, '/', 1)");54 #$db->do("INSERT INTO directory VALUES(1, '/', 1)"); 55 55 56 56 my $i = 0;
Note:
See TracChangeset
for help on using the changeset viewer.
