cvs commit: src/sys/vfs/hammer hammer.h hammer_disk.h hammer_flusher.c hammer_inode.c hammer_ioctl.c hammer_ioctl.h hammer_mirror.c hammer_ondisk.c hammer_pfs.c hammer_vfsops.c

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Jul 30 21:45:58 PDT 2008


dillon      2008/07/30 21:42:04 PDT

DragonFly src repository

  Modified files:
    sys/vfs/hammer       hammer.h hammer_disk.h hammer_flusher.c 
                         hammer_inode.c hammer_ioctl.c 
                         hammer_ioctl.h hammer_mirror.c 
                         hammer_ondisk.c hammer_pfs.c 
                         hammer_vfsops.c 
  Log:
  HAMMER: Mirroring, misc bug fixes
  
  * Adjust hammer_flusher_async() to queue an extra flush if called twice
    in quick succession.  This fixes the 'sync' command to properly sync
    the entire filesytem.  Previously two syncs were needed.
  
  * Fix a bug where a user application could get stuck due to HAMMER
    losing track of an inode flush.
  
  * Mirroring masters now use the most recent fully committed transaction
    id instead of the last flushed (but still subject to rollback) tid.
  
    This fixes an issue where a mirror could pass information still subject
    to crash recovery rollback to the slave.  Now only fully committed
    information is passed to the slave.
  
  * Fix a transitory bug where the mirroring code would sometimes not
    sync the correct delete state to the slave.  The slave would always
    be corrected in the next pass, however.  Now the slave is correct
    at all times.
  
  * Fix a bug in hammer_mirror_write() where a delete-to operation could
    livelock.
  
  * Add a new HAMMER ioctl which waits for the committed data transaction
    id to change.  This will be used by the mirroring code to implement
    continuous streaming operation.
  
  Reported-by: Francois Tigeot <ftigeot at wolfpond.org>,
  	     Michael Neumann <mneumann at crater.dragonflybsd.org>
  	     (the user application freeze bug)
  
  Revision  Changes    Path
  1.124     +5 -1      src/sys/vfs/hammer/hammer.h
  1.52      +1 -1      src/sys/vfs/hammer/hammer_disk.h
  1.45      +27 -1     src/sys/vfs/hammer/hammer_flusher.c
  1.107     +21 -8     src/sys/vfs/hammer/hammer_inode.c
  1.30      +6 -0      src/sys/vfs/hammer/hammer_ioctl.c
  1.22      +2 -0      src/sys/vfs/hammer/hammer_ioctl.h
  1.16      +2 -3      src/sys/vfs/hammer/hammer_mirror.c
  1.73      +1 -0      src/sys/vfs/hammer/hammer_ondisk.c
  1.5       +52 -1     src/sys/vfs/hammer/hammer_pfs.c
  1.70      +2 -2      src/sys/vfs/hammer/hammer_vfsops.c


http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer.h.diff?r1=1.123&r2=1.124&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_disk.h.diff?r1=1.51&r2=1.52&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_flusher.c.diff?r1=1.44&r2=1.45&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_inode.c.diff?r1=1.106&r2=1.107&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.c.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ioctl.h.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_mirror.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_ondisk.c.diff?r1=1.72&r2=1.73&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_pfs.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/vfs/hammer/hammer_vfsops.c.diff?r1=1.69&r2=1.70&f=u





More information about the Commits mailing list