cvs commit: src/sys/gnu/fs/ext2fs fs.h src/sys/kern kern_shutdown.c src/sys/sys buf.h

Don Lewis truckman at FreeBSD.org
Sun Sep 11 12:06:51 PDT 2005


truckman    2005-09-11 19:06:50 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/gnu/fs/ext2fs    fs.h 
    sys/kern             kern_shutdown.c 
    sys/sys              buf.h 
  Log:
  MFC     src/sys/gnu/fs/ext2fs/fs.h      1.18
          src/sys/kern/kern_shutdown.c    1.175
          src/sys/sys/buf.h               1.189
  
    Modified files:
      sys/gnu/fs/ext2fs    fs.h
      sys/kern             kern_shutdown.c
      sys/sys              buf.h
    Log:
    Add a new struct buf flag bit, B_PERSISTENT, and use it to tag
    struct bufs that are persistently held by ext2fs.  Ignore any buffers
    with this flag in the code in boot() that counts "busy" and dirty
    buffers and attempts to sync the dirty buffers, which is done before
    attempting to unmount all the file systems during shutdown.
  
    This fixes the problem caused by any ext2fs file systems that are
    mounted at system shutdown time, which caused boot() to give up on
    a non-zero number of buffers and skip the call to vfs_unmountall().
    This left all the mounted file systems in a dirty state and caused
    them to all require cleanup by fsck on reboot.
  
    Move the two separate copies of the "busy" buffer test in boot()
    to a separate function.
  
    Nuke the useless spl() stuff in the ext2fs ULCK_BUF() macro.
  
    Bring the PRINT_BUF_FLAGS definition in sys/buf.h up to date with
    this and previous flag changes.
  
    PR:             kern/56675, kern/85163
    Tested by:      "Matthias Andree" matthias.andree at gmx.de
    Reviewed by:    bde
    MFC after:      3 days
  
  PR:             kern/56675, kern/85163
  Tested by:      "Hanspeter Roth" hampi at rootshell.be
  Tested by:      "Matthias Andree" matthias.andree at gmx.de
  Reviewed by:    bde
  Approved by:    re (scottl)
  
  Revision   Changes    Path
  1.17.2.1   +8 -8      src/sys/gnu/fs/ext2fs/fs.h
  1.174.2.1  +13 -11    src/sys/kern/kern_shutdown.c
  1.187.2.2  +4 -4      src/sys/sys/buf.h


More information about the cvs-all mailing list