svn commit: r250238 - head/sys/fs/smbfs
Davide Italiano
davide at FreeBSD.org
Sat May 4 14:27:29 UTC 2013
Author: davide
Date: Sat May 4 14:27:28 2013
New Revision: 250238
URL: http://svnweb.freebsd.org/changeset/base/250238
Log:
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
Modified:
head/sys/fs/smbfs/smbfs_io.c
Modified: head/sys/fs/smbfs/smbfs_io.c
==============================================================================
--- head/sys/fs/smbfs/smbfs_io.c Sat May 4 14:18:10 2013 (r250237)
+++ head/sys/fs/smbfs/smbfs_io.c Sat May 4 14:27:28 2013 (r250238)
@@ -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
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);
More information about the svn-src-head
mailing list