Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 23110
b: refs/heads/master
c: 1f6553f
h: refs/heads/master
v: v3
  • Loading branch information
Nathan Scott committed Mar 14, 2006
1 parent 8efb1de commit e38d9cc
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0293ce3a9fd1b34c933a96577a8ba737b681cf75
refs/heads/master: 1f6553f9f9b6e41375c605769a75bd1646685a1b
34 changes: 22 additions & 12 deletions trunk/fs/xfs/linux-2.6/xfs_file.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,17 +145,22 @@ __linvfs_readv(
{
struct inode *inode = file->f_mapping->host;
vnode_t *vp = LINVFS_GET_VP(inode);
struct kiocb kiocb;
struct kiocb *kiocb;
ssize_t rval;

init_sync_kiocb(&kiocb, file);
kiocb.ki_pos = *ppos;
kiocb = kmalloc(sizeof(*kiocb), GFP_KERNEL);
if (unlikely(!kiocb))
return -ENOMEM;

init_sync_kiocb(kiocb, file);
kiocb->ki_pos = *ppos;

if (unlikely(file->f_flags & O_DIRECT))
ioflags |= IO_ISDIRECT;
VOP_READ(vp, &kiocb, iov, nr_segs, &kiocb.ki_pos, ioflags, NULL, rval);
VOP_READ(vp, kiocb, iov, nr_segs, &kiocb->ki_pos, ioflags, NULL, rval);

*ppos = kiocb.ki_pos;
*ppos = kiocb->ki_pos;
kfree(kiocb);
return rval;
}

Expand Down Expand Up @@ -190,17 +195,22 @@ __linvfs_writev(
{
struct inode *inode = file->f_mapping->host;
vnode_t *vp = LINVFS_GET_VP(inode);
struct kiocb kiocb;
struct kiocb *kiocb;
ssize_t rval;

init_sync_kiocb(&kiocb, file);
kiocb.ki_pos = *ppos;
kiocb = kmalloc(sizeof(*kiocb), GFP_KERNEL);
if (unlikely(!kiocb))
return -ENOMEM;

init_sync_kiocb(kiocb, file);
kiocb->ki_pos = *ppos;
if (unlikely(file->f_flags & O_DIRECT))
ioflags |= IO_ISDIRECT;

VOP_WRITE(vp, &kiocb, iov, nr_segs, &kiocb.ki_pos, ioflags, NULL, rval);
VOP_WRITE(vp, kiocb, iov, nr_segs, &kiocb->ki_pos, ioflags, NULL, rval);

*ppos = kiocb.ki_pos;
*ppos = kiocb->ki_pos;
kfree(kiocb);
return rval;
}

Expand Down Expand Up @@ -435,7 +445,7 @@ linvfs_ioctl(
unsigned long arg)
{
int error;
struct inode *inode = filp->f_dentry->d_inode;
struct inode *inode = filp->f_dentry->d_inode;
vnode_t *vp = LINVFS_GET_VP(inode);

VOP_IOCTL(vp, inode, filp, 0, cmd, (void __user *)arg, error);
Expand All @@ -457,7 +467,7 @@ linvfs_ioctl_invis(
unsigned long arg)
{
int error;
struct inode *inode = filp->f_dentry->d_inode;
struct inode *inode = filp->f_dentry->d_inode;
vnode_t *vp = LINVFS_GET_VP(inode);

ASSERT(vp);
Expand Down

0 comments on commit e38d9cc

Please sign in to comment.