Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/ufs

Module Name:    src
Committed By:   bouyer
Date:           Sun Feb  7 17:12:40 UTC 2010

Modified Files:
        src/sys/ufs/ext2fs: ext2fs_inode.c
        src/sys/ufs/ffs: ffs_inode.c
        src/sys/ufs/lfs: lfs_inode.c
        src/sys/ufs/ufs: ufs_inode.c

Log Message:
- ufs_balloc_range(): on error, only PG_RELEASED the pages that were
  allocated to extend the file to the new size. Releasing all pages
  may release pages that contains previously-written data not yet flushed
  to disk. Should fix PR kern/35704
- {ffs,lfs,ext2fs}_truncate(): Even if the inode's size is the same as
  the new length, call uvm_vnp_setsize(). *_truncate() may have been
  called by *_write() in the error path (e.g. block allocation failure
  because of quota of file system full), and at this point v_writesize
  has been set to the desired size of the file and not reverted to the
  old size. Not adjusting v_writesize to the real size cause
  genfs_do_io() to write to disk past the real end of the file.

To generate a diff of this commit:
cvs rdiff -u -r1.70 -r1.71 src/sys/ufs/ext2fs/ext2fs_inode.c
cvs rdiff -u -r1.103 -r1.104 src/sys/ufs/ffs/ffs_inode.c
cvs rdiff -u -r1.120 -r1.121 src/sys/ufs/lfs/lfs_inode.c
cvs rdiff -u -r1.78 -r1.79 src/sys/ufs/ufs/ufs_inode.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index