struct smbfs_fctx *ctx;
struct vnode *newvp;
struct smbnode *np;
- int error, offset, retval/*, *eofflag = ap->a_eofflag*/;
+ int error, offset, retval;
np = VTOSMB(vp);
SMBVDEBUG("dirname='%s'\n", np->n_name);
smb_makescred(&scred, uio->uio_td, cred);
- if (uio->uio_resid < 0 || uio->uio_offset < 0 ||
- uio->uio_offset > INT_MAX)
+ if (uio->uio_offset < 0 || uio->uio_offset > INT_MAX)
return(EINVAL);
error = 0;
return 0;
if (uiop->uio_offset < 0)
return EINVAL;
-/* if (uiop->uio_offset + uiop->uio_resid > smp->nm_maxfilesize)
- return EFBIG;*/
td = uiop->uio_td;
if (vp->v_type == VDIR) {
lks = LK_EXCLUSIVE;/*lockstatus(&vp->v_lock, td);*/
SMBVDEBUG("ofs=%d,resid=%d\n",(int)uiop->uio_offset, uiop->uio_resid);
if (uiop->uio_offset < 0)
return EINVAL;
-/* if (uiop->uio_offset + uiop->uio_resid > smp->nm_maxfilesize)
- return (EFBIG);*/
td = uiop->uio_td;
if (ioflag & (IO_APPEND | IO_SYNC)) {
if (np->n_flag & NMODIFIED) {
smb_makescred(&scred, td, cr);
if (bp->b_cmd == BUF_CMD_READ) {
- io.iov_len = uiop->uio_resid = bp->b_bcount;
+ io.iov_len = uiop->uio_resid = (size_t)bp->b_bcount;
io.iov_base = bp->b_data;
uiop->uio_rw = UIO_READ;
switch (vp->v_type) {
if (error)
break;
if (uiop->uio_resid) {
- int left = uiop->uio_resid;
- int nread = bp->b_bcount - left;
+ size_t left = uiop->uio_resid;
+ size_t nread = (size_t)bp->b_bcount - left;
if (left > 0)
- bzero((char *)bp->b_data + nread, left);
+ bzero((char *)bp->b_data + nread, left);
}
break;
default:
bp->b_dirtyend = np->n_size - bio->bio_offset;
if (bp->b_dirtyend > bp->b_dirtyoff) {
- io.iov_len = uiop->uio_resid = bp->b_dirtyend - bp->b_dirtyoff;
+ io.iov_len = uiop->uio_resid =
+ (size_t)(bp->b_dirtyend - bp->b_dirtyoff);
uiop->uio_offset = bio->bio_offset + bp->b_dirtyoff;
io.iov_base = (char *)bp->b_data + bp->b_dirtyoff;
uiop->uio_rw = UIO_WRITE;
#ifdef SMBFS_RWGENERIC
return vop_stdgetpages(ap);
#else
- int i, error, nextoff, size, toff, npages, count;
+ int i, error, npages;
int doclose;
+ size_t size, toff, nextoff, count;
struct uio uio;
struct iovec iov;
vm_offset_t kva;
np = VTOSMB(vp);
smp = VFSTOSMBFS(vp->v_mount);
pages = ap->a_m;
- count = ap->a_count;
+ count = (size_t)ap->a_count;
if (vp->v_object == NULL) {
kprintf("smbfs_getpages: called with non-merged cache vnode??\n");