summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authordavide <davide@FreeBSD.org>2013-05-04 14:27:28 +0000
committerdavide <davide@FreeBSD.org>2013-05-04 14:27:28 +0000
commitd0199b6a2f5b2e3184ea1b3383efea15cdbfba15 (patch)
tree65615e0121ffc3048bee002a4f1ac54653172832 /sys/fs
parent8fda0a3d2e48bd068e61f4b4b63aa11614fae230 (diff)
downloadFreeBSD-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.c17
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);
OpenPOWER on IntegriCloud