#if defined(AFS_LINUX26_ENV)
#define LockPage(pp) lock_page(pp)
#define UnlockPage(pp) unlock_page(pp)
+extern struct backing_dev_info afs_backing_dev_info;
#endif
extern struct vcache *afs_globalVp;
ICL_TYPE_POINTER, pp, ICL_TYPE_INT32, page_count(pp),
ICL_TYPE_INT32, 99999);
+ ObtainReadLock(&vcp->lock);
+ if (vcp->states & CPageWrite) {
+ ReleaseReadLock(&vcp->lock);
+ AFS_GUNLOCK();
+ maybe_unlock_kernel();
+ crfree(credp);
+ kunmap(pp);
+#ifdef AFS_LINUX26_ENV
+#if defined(WRITEPAGE_ACTIVATE)
+ return WRITEPAGE_ACTIVATE;
+#else
+ return AOP_WRITEPAGE_ACTIVATE;
+#endif
+#else
+ /* should mark it dirty? */
+ return(0);
+#endif
+ }
+ ReleaseReadLock(&vcp->lock);
+
setup_uio(&tuio, &iovec, buffer, base, count, UIO_WRITE, AFS_UIOSYS);
code = afs_write(vcp, &tuio, f_flags, credp, 0);
if (vattr)
vattr2inode(ip, vattr);
+ ip->i_mapping->backing_dev_info = &afs_backing_dev_info;
/* Reset ops if symlink or directory. */
if (S_ISREG(ip->i_mode)) {
ip->i_op = &afs_file_iops;