diff --git a/db/Node.pm.in b/db/Node.pm.in index bf0e2b12a886bfe45be43bf9fe44fe0181b132f1..927c7dc063b021ff728d09bfec8660e321def070 100755 --- a/db/Node.pm.in +++ b/db/Node.pm.in @@ -1660,7 +1660,8 @@ sub ClearBootAttributes($) "update_accounts=0,ipport_next=ipport_low,rtabid=0, ". "sfshostid=NULL,allocstate='$allocFreeState',boot_errno=0, ". "destination_x=NULL,destination_y=NULL, ". - "destination_orientation=NULL,reserved_memory=0 ". + "destination_orientation=NULL,reserved_memory=0,". + "nonfsmounts=0 ". "where node_id='$node_id'") or return -1; @@ -3234,6 +3235,24 @@ sub Setrtabid($$) return Refresh($self); } +# +# Set nonfsmounts for a node. +# +sub NoNFSMounts($) +{ + my ($self) = @_; + + return -1 + if (! (ref($self))); + + my $node_id = $self->node_id(); + + DBQueryWarn("update nodes set nonfsmounts='1' where node_id='$node_id'") + or return -1; + + return 0; +} + # # Get the max share count for a node. This is actually the pcvm count # from the aux table, but might change someday, I hope. diff --git a/protogeni/lib/GeniCM.pm.in b/protogeni/lib/GeniCM.pm.in index a3365fc66266fbb8ee1297c55388b2f1e37112ca..8b27fb8f3aeda3ea408cfbcb4b85a38f3534dab6 100644 --- a/protogeni/lib/GeniCM.pm.in +++ b/protogeni/lib/GeniCM.pm.in @@ -3210,6 +3210,16 @@ sub SliverWorkAux($$$$$$$$) # Must do this after mapper has run $node->Refresh(); + if ($MAINSITE && $node->sharing_mode()) { + my $physhost = $node->GetPhysHost(); + if (defined($physhost)) { + my ($osinfo) = $physhost->RunningOsImage(); + if (defined($osinfo) && $osinfo->FeatureSupported("xen-host")){ + $node->NoNFSMounts(); + } + } + } + if (grep {$_ eq $virtual_id} keys(%nodemap)) { # # Already in the aggregate, so reuse sliver.