cvs commit: src/sys/vfs/hammer hammer.h hammer_btree.c hammer_cursor.c hammer_cursor.h hammer_disk.h hammer_flusher.c hammer_inode.c hammer_ioctl.h hammer_mirror.c hammer_vfsops.c hammer_vnops.c

Michael Neumann mneumann at ntecs.de
Mon Jul 7 01:09:19 PDT 2008


Matthew Dillon wrote:
dillon      2008/07/06 17:24:31 PDT

DragonFly src repository

  Modified files:
    sys/vfs/hammer       hammer.h hammer_btree.c hammer_cursor.c 
                         hammer_cursor.h hammer_disk.h 
                         hammer_flusher.c hammer_inode.c 
                         hammer_ioctl.h hammer_mirror.c 
                         hammer_vfsops.c hammer_vnops.c 
  Log:
  HAMMER 60E/Many: Mirroring, bug fixes
  
  * Work on the mirror_tid propagation code.  The code now retries on
    EDEADLK so propagation is guaranteed to reach the root.
  
  * Get most of the mirror_write code working.
  
  * Add PFS support for NFS exports.  Change fid_reserved to fid_ext and use
    it to store the localization parameter that selects the PFS.  This isn't
    well tested yet.
  
  * BUGFIX: Fix a bug in vol0_last_tid updates.  Flush sequences might
    not always update the field, creating issues with mirroring and snapshots.
  
  * BUGFIX: Properly update the volume header CRC.
  
  * CLEANUP: Fix some obj_id's that were u_int64_t's. They should be int64_t's.
  
  * CLEANUP: #if 0 out unused code, remove other bits of unused code.
  
  Revision  Changes    Path
  1.104     +5 -2      src/sys/vfs/hammer/hammer.h
  1.64      +64 -40    src/sys/vfs/hammer/hammer_btree.c
  1.38      +114 -48   src/sys/vfs/hammer/hammer_cursor.c
  1.24      +2 -3      src/sys/vfs/hammer/hammer_cursor.h
  1.46      +2 -2      src/sys/vfs/hammer/hammer_disk.h
  1.33      +5 -3      src/sys/vfs/hammer/hammer_flusher.c
  1.94      +1 -1      src/sys/vfs/hammer/hammer_inode.c
  1.17      +1 -0      src/sys/vfs/hammer/hammer_ioctl.h
  1.7       +64 -38    src/sys/vfs/hammer/hammer_mirror.c
  1.60      +9 -4      src/sys/vfs/hammer/hammer_vfsops.c
I can't compile a kernel anymore, due to the missing field
"fhp->fid_ext" of struct fid. I think you forgot to commit sys/mount.h
as well with a change like this (just a guess as I don't know of which
size fid_ext should be):
Index: mount.h
===================================================================
RCS file: /home/dcvs/src/sys/sys/mount.h,v
retrieving revision 1.44
diff -u -r1.44 mount.h
--- mount.h     2 Jun 2008 06:42:45 -0000       1.44
+++ mount.h     7 Jul 2008 08:36:13 -0000
@@ -77,7 +77,7 @@
 struct fid {
        u_short         fid_len;                /* length of data in 
bytes */
-       u_short         fid_reserved;           /* force longword 
alignment */
+       u_short         fid_ext;                /* force longword 
alignment */
        char            fid_data[MAXFIDSZ];     /* data (variable 
length) */
 };

Regards,

  Michael





More information about the Commits mailing list