KERNEL_SPACE_DECL;
struct file *filp = &file->file;
off_t offset = file->offset;
+ unsigned long savelim;
/* Seek to the desired position. Return -1 on error. */
if (filp->f_op->llseek) {
else
filp->f_pos = offset;
+ savelim = current->rlim[RLIMIT_FSIZE].rlim_cur;
+ current->rlim[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY;
+
/* Read/Write the data. */
TO_USER_SPACE();
if (rw == UIO_READ)
code = asize;
TO_KERNEL_SPACE();
+ current->rlim[RLIMIT_FSIZE].rlim_cur = savelim;
+
if (code >=0) {
*resid = asize - code;
return 0;
int code = 0;
struct iovec *iov;
int count;
+ unsigned long savelim;
+
+ savelim = current->rlim[RLIMIT_FSIZE].rlim_cur;
+ current->rlim[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY;
if (uiop->uio_seg == AFS_UIOSYS)
TO_USER_SPACE();
uiop->uio_iovcnt--;
continue;
}
-
+
if (rw == UIO_READ)
code = FOP_READ(filp, iov->iov_base, count);
else
if (uiop->uio_seg == AFS_UIOSYS)
TO_KERNEL_SPACE();
+ current->rlim[RLIMIT_FSIZE].rlim_cur = savelim;
+
return code;
}
osi_Panic("afs_osi_Write called with null param");
if (offset != -1) afile->offset = offset;
AFS_GUNLOCK();
-#ifdef AFS_SUN59_ENV
- code = gop_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize, afile->offset,
- AFS_UIOSYS, 0, curproc->p_fsz_ctl.rlim_cur, &afs_osi_cred, &resid);
-#else
- code = gop_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize, afile->offset,
- AFS_UIOSYS, 0, (u.u_rlimit[RLIMIT_FSIZE].rlim_cur), &afs_osi_cred, &resid);
-#endif
+ code = gop_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize,
+ afile->offset, AFS_UIOSYS, 0, RLIM64_INFINITY,
+ &afs_osi_cred, &resid);
AFS_GLOCK();
if (code == 0) {
code = asize - resid;