[BACK]Return to ufs_readwrite.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / ufs / ufs

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

Diff for /src/sys/ufs/ufs/ufs_readwrite.c between version 1.30 and 1.31

version 1.30, 2001/02/27 04:37:47 version 1.31, 2001/03/26 06:47:34
Line 300  WRITE(void *v)
Line 300  WRITE(void *v)
   
                 if (ioflag & IO_SYNC) {                  if (ioflag & IO_SYNC) {
                         simple_lock(&vp->v_uvm.u_obj.vmobjlock);                          simple_lock(&vp->v_uvm.u_obj.vmobjlock);
   #if 1
                           /*
                            * XXX
                            * flush whole blocks in case there are deps.
                            * otherwise we can dirty and flush part of
                            * a block multiple times and the softdep code
                            * will get confused.  fixing this the right way
                            * is complicated so we'll work around it for now.
                            */
   
                           rv = vp->v_uvm.u_obj.pgops->pgo_flush(
                               &vp->v_uvm.u_obj,
                               oldoff & ~(fs->fs_bsize - 1),
                               (oldoff + bytelen + fs->fs_bsize - 1) &
                               ~(fs->fs_bsize - 1),
                               PGO_CLEANIT|PGO_SYNCIO);
   #else
                         rv = vp->v_uvm.u_obj.pgops->pgo_flush(                          rv = vp->v_uvm.u_obj.pgops->pgo_flush(
                             &vp->v_uvm.u_obj, oldoff, oldoff + bytelen,                              &vp->v_uvm.u_obj, oldoff, oldoff + bytelen,
                             PGO_CLEANIT|PGO_SYNCIO);                              PGO_CLEANIT|PGO_SYNCIO);
   #endif
                         simple_unlock(&vp->v_uvm.u_obj.vmobjlock);                          simple_unlock(&vp->v_uvm.u_obj.vmobjlock);
                 } else if (oldoff >> 16 != uio->uio_offset >> 16) {                  } else if (oldoff >> 16 != uio->uio_offset >> 16) {
                         simple_lock(&vp->v_uvm.u_obj.vmobjlock);                          simple_lock(&vp->v_uvm.u_obj.vmobjlock);

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

CVSweb <webmaster@jp.NetBSD.org>