Source-Changes archive

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

CVS commit: src/sys



Module Name:    src
Committed By:   ad
Date:           Thu Apr 23 21:47:09 UTC 2020

Modified Files:
        src/sys/fs/adosfs: advnops.c
        src/sys/fs/cd9660: cd9660_vnops.c
        src/sys/fs/efs: efs_vnops.c
        src/sys/fs/filecorefs: filecore_vnops.c
        src/sys/fs/hfs: hfs_vnops.c
        src/sys/fs/msdosfs: msdosfs_denode.c msdosfs_vnops.c
        src/sys/fs/nilfs: nilfs_vnops.c
        src/sys/fs/puffs: puffs_vnops.c
        src/sys/fs/sysvbfs: sysvbfs_vnops.c
        src/sys/fs/tmpfs: tmpfs_subr.c tmpfs_vnops.c
        src/sys/fs/udf: udf_allocation.c udf_vnops.c
        src/sys/fs/v7fs: v7fs_vnops.c
        src/sys/nfs: nfs_bio.c
        src/sys/rump/librump/rumpvfs: rumpfs.c
        src/sys/ufs/chfs: chfs_subr.c chfs_vnops.c
        src/sys/ufs/ext2fs: ext2fs_inode.c ext2fs_readwrite.c
        src/sys/ufs/ffs: ffs_inode.c
        src/sys/ufs/lfs: lfs_inode.c ulfs_readwrite.c
        src/sys/ufs/ufs: ufs_readwrite.c
        src/sys/uvm: uvm_bio.c uvm_extern.h

Log Message:
PR kern/54759 (vm.ubc_direct deadlock when read()/write() into mapping of itself)

- Add new flag UBC_ISMAPPED which tells ubc_uiomove() the object is mmap()ed
  somewhere.  Use it to decide whether to do direct-mapped copy, rather than
  poking around directly in the vnode in ubc_uiomove(), which is ugly and
  doesn't work for tmpfs.  It would be nicer to contain all this in UVM but
  the filesystem provides the needed locking here (VV_MAPPED) and to
  reinvent that would suck more.

- Rename UBC_UNMAP_FLAG() to UBC_VNODE_FLAGS().  Pass in UBC_ISMAPPED where
  appropriate.


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/sys/fs/adosfs/advnops.c
cvs rdiff -u -r1.55 -r1.56 src/sys/fs/cd9660/cd9660_vnops.c
cvs rdiff -u -r1.38 -r1.39 src/sys/fs/efs/efs_vnops.c
cvs rdiff -u -r1.44 -r1.45 src/sys/fs/filecorefs/filecore_vnops.c
cvs rdiff -u -r1.34 -r1.35 src/sys/fs/hfs/hfs_vnops.c
cvs rdiff -u -r1.58 -r1.59 src/sys/fs/msdosfs/msdosfs_denode.c
cvs rdiff -u -r1.101 -r1.102 src/sys/fs/msdosfs/msdosfs_vnops.c
cvs rdiff -u -r1.39 -r1.40 src/sys/fs/nilfs/nilfs_vnops.c
cvs rdiff -u -r1.214 -r1.215 src/sys/fs/puffs/puffs_vnops.c
cvs rdiff -u -r1.64 -r1.65 src/sys/fs/sysvbfs/sysvbfs_vnops.c
cvs rdiff -u -r1.108 -r1.109 src/sys/fs/tmpfs/tmpfs_subr.c
cvs rdiff -u -r1.135 -r1.136 src/sys/fs/tmpfs/tmpfs_vnops.c
cvs rdiff -u -r1.40 -r1.41 src/sys/fs/udf/udf_allocation.c
cvs rdiff -u -r1.111 -r1.112 src/sys/fs/udf/udf_vnops.c
cvs rdiff -u -r1.28 -r1.29 src/sys/fs/v7fs/v7fs_vnops.c
cvs rdiff -u -r1.195 -r1.196 src/sys/nfs/nfs_bio.c
cvs rdiff -u -r1.156 -r1.157 src/sys/rump/librump/rumpvfs/rumpfs.c
cvs rdiff -u -r1.11 -r1.12 src/sys/ufs/chfs/chfs_subr.c
cvs rdiff -u -r1.37 -r1.38 src/sys/ufs/chfs/chfs_vnops.c
cvs rdiff -u -r1.88 -r1.89 src/sys/ufs/ext2fs/ext2fs_inode.c
cvs rdiff -u -r1.76 -r1.77 src/sys/ufs/ext2fs/ext2fs_readwrite.c
cvs rdiff -u -r1.127 -r1.128 src/sys/ufs/ffs/ffs_inode.c
cvs rdiff -u -r1.159 -r1.160 src/sys/ufs/lfs/lfs_inode.c
cvs rdiff -u -r1.26 -r1.27 src/sys/ufs/lfs/ulfs_readwrite.c
cvs rdiff -u -r1.125 -r1.126 src/sys/ufs/ufs/ufs_readwrite.c
cvs rdiff -u -r1.109 -r1.110 src/sys/uvm/uvm_bio.c
cvs rdiff -u -r1.223 -r1.224 src/sys/uvm/uvm_extern.h

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