All of lore.kernel.org
 help / color / mirror / Atom feed
  • * Re: Re: Do not wait for memory teardown when live migrate
           [not found] <1941181824.152281286870602071.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
           [not found] ` <1393810365.50891286801563319.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
    @ 2010-10-12  8:09 ` Miroslav Rezanina
      2010-10-28 10:41   ` Do not wait for memory teardown when live migrate [and 1 more messages] Ian Jackson
      1 sibling, 1 reply; 4+ messages in thread
    From: Miroslav Rezanina @ 2010-10-12  8:09 UTC (permalink / raw)
      To: Paolo Bonzini; +Cc: xen-devel
    
    
    ----- "Paolo Bonzini" <pbonzini@redhat.com> wrote:
    > >                       raise XendError("%s (from %s)" %
    > (m_dsterr.group(2), dst))
    > >                   raise
    > >           finally:
    > > +          if not live:
    > >               try:
    > >                   sock.shutdown(2)
    > >               except:
    > 
    > Non-standard indentation?
    
    Yeah, sorry for lazyness...This is correctly indented version.
    > 
    
    diff -r 3c4c3d48a835 tools/python/xen/xend/XendCheckpoint.py
    --- a/tools/python/xen/xend/XendCheckpoint.py	Thu Aug 26 11:16:56 2010 +0100
    +++ b/tools/python/xen/xend/XendCheckpoint.py	Tue Oct 12 10:08:32 2010 +0200
    @@ -65,7 +65,7 @@
         return
     
     
    -def save(fd, dominfo, network, live, dst, checkpoint=False, node=-1):
    +def save(fd, dominfo, network, live, dst, checkpoint=False, node=-1,sock=None):
         from xen.xend import XendDomain
     
         try:
    @@ -162,6 +162,13 @@
             if checkpoint:
                 dominfo.resumeDomain()
             else:
    +            if live and sock != None:
    +                try:
    +                    sock.shutdown(2)
    +                except:
    +                    pass
    +                sock.close()
    +
                 dominfo.destroy()
                 dominfo.testDeviceComplete()
             try:
    diff -r 3c4c3d48a835 tools/python/xen/xend/XendDomain.py
    --- a/tools/python/xen/xend/XendDomain.py	Thu Aug 26 11:16:56 2010 +0100
    +++ b/tools/python/xen/xend/XendDomain.py	Tue Oct 12 10:08:32 2010 +0200
    @@ -1412,7 +1412,7 @@
             try:
                 try:
                     XendCheckpoint.save(p2cwrite, dominfo, True, live, dst,
    -                                    node=node)
    +                                    node=node,sock=sock)
                 except Exception, ex:
                     m_dsterr = None
                     try:
    @@ -1436,15 +1436,16 @@
                         raise XendError("%s (from %s)" % (m_dsterr.group(2), dst))
                     raise
             finally:
    -            try:
    -                sock.shutdown(2)
    -            except:
    -                # Probably the socket is already disconnected by sock.close
    -                # in the destination side.
    -                # Ignore the exception because it has nothing to do with
    -                # an exception of XendCheckpoint.save.
    -                pass
    -            sock.close()
    +            if not live:
    +                try:
    +                    sock.shutdown(2)
    +                except:
    +                    # Probably the socket is already disconnected by sock.close
    +                    # in the destination side.
    +                    # Ignore the exception because it has nothing to do with
    +                    # an exception of XendCheckpoint.save.
    +                    pass
    +                sock.close()
     
             os.close(p2cread)
             os.close(p2cwrite)
    @@ -1469,7 +1470,7 @@
             try:
                 try:
                     XendCheckpoint.save(sock.fileno(), dominfo, True, live,
    -                                    dst, node=node)
    +                                    dst, node=node,sock=sock)
                 except Exception, ex:
                     m_dsterr = None
                     try:
    @@ -1493,15 +1494,16 @@
                         raise XendError("%s (from %s)" % (m_dsterr.group(2), dst))
                     raise
             finally:
    -            try:
    -                sock.shutdown(2)
    -            except:
    -                # Probably the socket is already disconnected by sock.close
    -                # in the destination side.
    -                # Ignore the exception because it has nothing to do with
    -                # an exception of XendCheckpoint.save.
    -                pass
    -            sock.close()
    +            if not live:
    +                try:
    +                    sock.shutdown(2)
    +                except:
    +                    # Probably the socket is already disconnected by sock.close
    +                    # in the destination side.
    +                    # Ignore the exception because it has nothing to do with
    +                    # an exception of XendCheckpoint.save.
    +                    pass
    +                sock.close()
     
         def domain_save(self, domid, dst, checkpoint=False):
             """Start saving a domain to file.
    -- 
    Miroslav Rezanina
    Software Engineer - Virtualization Team - XEN kernel
    
    ^ permalink raw reply	[flat|nested] 4+ messages in thread

  • end of thread, other threads:[~2010-10-28 10:41 UTC | newest]
    
    Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <1941181824.152281286870602071.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
         [not found] ` <1393810365.50891286801563319.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
    2010-10-11 12:52   ` Do not wait for memory teardown when live migrate Miroslav Rezanina
    2010-10-11 15:19     ` Paolo Bonzini
    2010-10-12  8:09 ` Miroslav Rezanina
    2010-10-28 10:41   ` Do not wait for memory teardown when live migrate [and 1 more messages] Ian Jackson
    

    This is an external index of several public inboxes,
    see mirroring instructions on how to clone and mirror
    all data and code used by this external index.