diff options
author | davide <davide@FreeBSD.org> | 2013-05-04 14:27:28 +0000 |
---|---|---|
committer | davide <davide@FreeBSD.org> | 2013-05-04 14:27:28 +0000 |
commit | d0199b6a2f5b2e3184ea1b3383efea15cdbfba15 (patch) | |
tree | 65615e0121ffc3048bee002a4f1ac54653172832 /sys/fs | |
parent | 8fda0a3d2e48bd068e61f4b4b63aa11614fae230 (diff) | |
download | FreeBSD-src-d0199b6a2f5b2e3184ea1b3383efea15cdbfba15.zip FreeBSD-src-d0199b6a2f5b2e3184ea1b3383efea15cdbfba15.tar.gz |
Change VM_OBJECT_LOCK/UNLOCK() -> VM_OBJECT_WLOCK/WUNLOCK() to reflect
the recent switch of the vm object lock to a rwlock.
Reported by: attilio
Diffstat (limited to 'sys/fs')
-rw-r--r-- | sys/fs/smbfs/smbfs_io.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/sys/fs/smbfs/smbfs_io.c b/sys/fs/smbfs/smbfs_io.c index 1018fae..0ffb503 100644 --- a/sys/fs/smbfs/smbfs_io.c +++ b/sys/fs/smbfs/smbfs_io.c @@ -36,6 +36,7 @@ #include <sys/namei.h> #include <sys/vnode.h> #include <sys/dirent.h> +#include <sys/rwlock.h> #include <sys/signalvar.h> #include <sys/sysctl.h> #include <sys/vmmeter.h> @@ -460,7 +461,7 @@ smbfs_getpages(ap) */ m = pages[reqpage]; - VM_OBJECT_LOCK(object); + VM_OBJECT_WLOCK(object); if (m->valid != 0) { for (i = 0; i < npages; ++i) { if (i != reqpage) { @@ -469,10 +470,10 @@ smbfs_getpages(ap) vm_page_unlock(pages[i]); } } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); return 0; } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); scred = smbfs_malloc_scred(); smb_makescred(scred, td, cred); @@ -500,7 +501,7 @@ smbfs_getpages(ap) relpbuf(bp, &smbfs_pbuf_freecnt); - VM_OBJECT_LOCK(object); + VM_OBJECT_WLOCK(object); if (error && (uio.uio_resid == count)) { printf("smbfs_getpages: error %d\n",error); for (i = 0; i < npages; i++) { @@ -510,7 +511,7 @@ smbfs_getpages(ap) vm_page_unlock(pages[i]); } } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); return VM_PAGER_ERROR; } @@ -548,7 +549,7 @@ smbfs_getpages(ap) if (i != reqpage) vm_page_readahead_finish(m); } - VM_OBJECT_UNLOCK(object); + VM_OBJECT_WUNLOCK(object); return 0; #endif /* SMBFS_RWGENERIC */ } @@ -667,9 +668,9 @@ smbfs_vinvalbuf(struct vnode *vp, struct thread *td) np->n_flag |= NFLUSHINPROG; if (vp->v_bufobj.bo_object != NULL) { - VM_OBJECT_LOCK(vp->v_bufobj.bo_object); + VM_OBJECT_WLOCK(vp->v_bufobj.bo_object); vm_object_page_clean(vp->v_bufobj.bo_object, 0, 0, OBJPC_SYNC); - VM_OBJECT_UNLOCK(vp->v_bufobj.bo_object); + VM_OBJECT_WUNLOCK(vp->v_bufobj.bo_object); } error = vinvalbuf(vp, V_SAVE, PCATCH, 0); |