Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 18659
b: refs/heads/master
c: 361b1eb
h: refs/heads/master
i:
  18657: 0524f0f
  18655: 86efbff
v: v3
  • Loading branch information
Miklos Szeredi authored and Linus Torvalds committed Jan 17, 2006
1 parent 070e236 commit 87fe7dc
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 25 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: 9b9a04693fa2d9e60933154e4c4aca83c219ef0a
refs/heads/master: 361b1eb55ea84181505c7f0674ca1205da1127ab
10 changes: 3 additions & 7 deletions trunk/fs/fuse/dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -762,12 +762,6 @@ static int parse_dirfile(char *buf, size_t nbytes, struct file *file,
return 0;
}

static size_t fuse_send_readdir(struct fuse_req *req, struct file *file,
struct inode *inode, loff_t pos, size_t count)
{
return fuse_send_read_common(req, file, inode, pos, count, 1);
}

static int fuse_readdir(struct file *file, void *dstbuf, filldir_t filldir)
{
int err;
Expand All @@ -791,7 +785,9 @@ static int fuse_readdir(struct file *file, void *dstbuf, filldir_t filldir)
}
req->num_pages = 1;
req->pages[0] = page;
nbytes = fuse_send_readdir(req, file, inode, file->f_pos, PAGE_SIZE);
fuse_read_fill(req, file, inode, file->f_pos, PAGE_SIZE, FUSE_READDIR);
request_send(fc, req);
nbytes = req->out.args[0].size;
err = req->out.h.error;
fuse_put_request(fc, req);
if (!err)
Expand Down
24 changes: 11 additions & 13 deletions trunk/fs/fuse/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -250,19 +250,16 @@ static int fuse_fsync(struct file *file, struct dentry *de, int datasync)
return fuse_fsync_common(file, de, datasync, 0);
}

size_t fuse_send_read_common(struct fuse_req *req, struct file *file,
struct inode *inode, loff_t pos, size_t count,
int isdir)
void fuse_read_fill(struct fuse_req *req, struct file *file,
struct inode *inode, loff_t pos, size_t count, int opcode)
{
struct fuse_conn *fc = get_fuse_conn(inode);
struct fuse_file *ff = file->private_data;
struct fuse_read_in inarg;
struct fuse_read_in *inarg = &req->misc.read_in;

memset(&inarg, 0, sizeof(struct fuse_read_in));
inarg.fh = ff->fh;
inarg.offset = pos;
inarg.size = count;
req->in.h.opcode = isdir ? FUSE_READDIR : FUSE_READ;
inarg->fh = ff->fh;
inarg->offset = pos;
inarg->size = count;
req->in.h.opcode = opcode;
req->in.h.nodeid = get_node_id(inode);
req->inode = inode;
req->file = file;
Expand All @@ -273,14 +270,15 @@ size_t fuse_send_read_common(struct fuse_req *req, struct file *file,
req->out.argvar = 1;
req->out.numargs = 1;
req->out.args[0].size = count;
request_send(fc, req);
return req->out.args[0].size;
}

static size_t fuse_send_read(struct fuse_req *req, struct file *file,
struct inode *inode, loff_t pos, size_t count)
{
return fuse_send_read_common(req, file, inode, pos, count, 0);
struct fuse_conn *fc = get_fuse_conn(inode);
fuse_read_fill(req, file, inode, pos, count, FUSE_READ);
request_send(fc, req);
return req->out.args[0].size;
}

static int fuse_readpage(struct file *file, struct page *page)
Expand Down
8 changes: 4 additions & 4 deletions trunk/fs/fuse/fuse_i.h
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ struct fuse_req {
struct fuse_release_in release_in;
struct fuse_init_in init_in;
struct fuse_init_out init_out;
struct fuse_read_in read_in;
} misc;

/** page vector */
Expand Down Expand Up @@ -354,11 +355,10 @@ void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req,
unsigned long nodeid, u64 nlookup);

/**
* Send READ or READDIR request
* Initialize READ or READDIR request
*/
size_t fuse_send_read_common(struct fuse_req *req, struct file *file,
struct inode *inode, loff_t pos, size_t count,
int isdir);
void fuse_read_fill(struct fuse_req *req, struct file *file,
struct inode *inode, loff_t pos, size_t count, int opcode);

/**
* Send OPEN or OPENDIR request
Expand Down

0 comments on commit 87fe7dc

Please sign in to comment.