]> Pileus Git - ~andy/linux/blobdiff - fs/fuse/dir.c
Merge branch 'master'
[~andy/linux] / fs / fuse / dir.c
index e47fa3a2b4af5e3fd2b16769bb35c74aed253f6c..21fd59c7bc24d5d25728114ed4c4d0824ea6fb61 100644 (file)
@@ -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;
@@ -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)