Displaying 20 results from an estimated 187 matches for "kiocb".
Did you mean:
aiocb
2012 Jun 27
4
[V4]fix ocfs2 aio/dio writing process hang
V4 changes:
add Acked-by: Joel Becker <jlbec at evilplan.org>
V3 changes:
- add Cc: stable at vger.kernel.org in the patch header to align with stable rules
- add Acked-by: Jeff Moyer <jmoyer at redhat.com>
V2 changes:
- update the patch header of the first patch to make it more clear.
This patch list fixes an issue about ocfs2 aio/dio write process hang.
The call trace is like
2012 Jul 12
6
[PATCH 0/5] Add vhost-blk support
Hi folks,
This patchset adds vhost-blk support. vhost-blk is a in kernel virito-blk
device accelerator. Compared to userspace virtio-blk implementation, vhost-blk
gives about 5% to 15% performance improvement.
Asias He (5):
aio: Export symbols and struct kiocb_batch for in kernel aio usage
eventfd: Export symbol eventfd_file_create()
vhost: Make vhost a separate module
vhost-net: Use VHOST_NET_FEATURES for vhost-net
vhost-blk: Add vhost-blk support
drivers/vhost/Kconfig | 20 +-
drivers/vhost/Makefile | 6 +-
drivers/vhost/blk.c | 600...
2012 Jul 12
6
[PATCH 0/5] Add vhost-blk support
Hi folks,
This patchset adds vhost-blk support. vhost-blk is a in kernel virito-blk
device accelerator. Compared to userspace virtio-blk implementation, vhost-blk
gives about 5% to 15% performance improvement.
Asias He (5):
aio: Export symbols and struct kiocb_batch for in kernel aio usage
eventfd: Export symbol eventfd_file_create()
vhost: Make vhost a separate module
vhost-net: Use VHOST_NET_FEATURES for vhost-net
vhost-blk: Add vhost-blk support
drivers/vhost/Kconfig | 20 +-
drivers/vhost/Makefile | 6 +-
drivers/vhost/blk.c | 600...
2010 May 07
6
[PATCH 1/5] fs: allow short direct-io reads to be completed via buffered IO V2
...<josef@redhat.com>
---
mm/filemap.c | 36 +++++++++++++++++++++++++++++++-----
1 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/mm/filemap.c b/mm/filemap.c
index 140ebda..829ac9c 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1263,7 +1263,7 @@ generic_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
{
struct file *filp = iocb->ki_filp;
ssize_t retval;
- unsigned long seg;
+ unsigned long seg = 0;
size_t count;
loff_t *ppos = &iocb->ki_pos;
@@ -1290,21 +1290,47 @@ generic_file_aio_read(struct kiocb *iocb, const struct iovec *iov,
retval...
2013 Jan 09
0
[PATCH V5 19/30] ocfs2: add support for read_iter, write_iter, and direct_IO_bvec
...node.h | 2 --
fs/ocfs2/ocfs2_trace.h | 6 +++---
4 files changed, 27 insertions(+), 36 deletions(-)
diff --git a/fs/ocfs2/aops.h b/fs/ocfs2/aops.h
index ffb2da3..bd0425a 100644
--- a/fs/ocfs2/aops.h
+++ b/fs/ocfs2/aops.h
@@ -72,7 +72,7 @@ static inline void ocfs2_iocb_set_rw_locked(struct kiocb *iocb, int level)
/*
* Using a named enum representing lock types in terms of #N bit stored in
* iocb->private, which is going to be used for communication between
- * ocfs2_dio_end_io() and ocfs2_file_aio_write/read().
+ * ocfs2_dio_end_io() and ocfs2_file_write/read_iter().
*/
enum ocf...
2010 Nov 19
5
[PATCH 1/1] Ocfs2: Teach 'coherency=full' O_DIRECT writes to correctly up_read i_alloc_sem.
...fs/ocfs2/aops.h | 6 ++++++
fs/ocfs2/file.c | 16 ++++++++++++++++
3 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
index f1e962c..fd0713c 100644
--- a/fs/ocfs2/aops.c
+++ b/fs/ocfs2/aops.c
@@ -568,7 +568,7 @@ static void ocfs2_dio_end_io(struct kiocb *iocb,
bool is_async)
{
struct inode *inode = iocb->ki_filp->f_path.dentry->d_inode;
- int level;
+ int level, coherency;
/* this io's submitter should not have unlocked this before we could */
BUG_ON(!ocfs2_iocb_is_rw_locked(iocb));
@@ -576,7 +576,12 @@ static void o...
2018 Nov 05
2
[PATCH 0/1] vhost: add vhost_blk driver
On 2018/11/3 ??2:21, Vitaly Mayatskikh wrote:
> vhost_blk is a host-side kernel mode accelerator for virtio-blk. The
> driver allows VM to reach a near bare-metal disk performance. See IOPS
> numbers below (fio --rw=randread --bs=4k).
>
> This implementation uses kiocb interface. It is slightly slower than
> going directly through bio, but is simpler and also works with disk
> images placed on a file system.
>
> # fio num-jobs
> # A: bare metal over block
> # B: bare metal over file
> # C: virtio-blk over block
> # D: virtio-blk over file...
2018 Nov 05
2
[PATCH 0/1] vhost: add vhost_blk driver
On 2018/11/3 ??2:21, Vitaly Mayatskikh wrote:
> vhost_blk is a host-side kernel mode accelerator for virtio-blk. The
> driver allows VM to reach a near bare-metal disk performance. See IOPS
> numbers below (fio --rw=randread --bs=4k).
>
> This implementation uses kiocb interface. It is slightly slower than
> going directly through bio, but is simpler and also works with disk
> images placed on a file system.
>
> # fio num-jobs
> # A: bare metal over block
> # B: bare metal over file
> # C: virtio-blk over block
> # D: virtio-blk over file...
2013 Jul 25
0
[PATCH V8 21/33] ocfs2: add support for read_iter and write_iter
...--------------------
fs/ocfs2/ocfs2_trace.h | 6 +++---
3 files changed, 28 insertions(+), 35 deletions(-)
diff --git a/fs/ocfs2/aops.h b/fs/ocfs2/aops.h
index f671e49..573f41d 100644
--- a/fs/ocfs2/aops.h
+++ b/fs/ocfs2/aops.h
@@ -74,7 +74,7 @@ static inline void ocfs2_iocb_set_rw_locked(struct kiocb *iocb, int level)
/*
* Using a named enum representing lock types in terms of #N bit stored in
* iocb->private, which is going to be used for communication between
- * ocfs2_dio_end_io() and ocfs2_file_aio_write/read().
+ * ocfs2_dio_end_io() and ocfs2_file_write/read_iter().
*/
enum ocf...
2012 Jul 13
9
[PATCH RESEND 0/5] Add vhost-blk support
...ing to fix the broken thread in the previous one.]
This patchset adds vhost-blk support. vhost-blk is a in kernel virito-blk
device accelerator. Compared to userspace virtio-blk implementation, vhost-blk
gives about 5% to 15% performance improvement.
Asias He (5):
aio: Export symbols and struct kiocb_batch for in kernel aio usage
eventfd: Export symbol eventfd_file_create()
vhost: Make vhost a separate module
vhost-net: Use VHOST_NET_FEATURES for vhost-net
vhost-blk: Add vhost-blk support
drivers/vhost/Kconfig | 20 +-
drivers/vhost/Makefile | 6 +-
drivers/vhost/blk.c | 600...
2012 Jul 13
9
[PATCH RESEND 0/5] Add vhost-blk support
...ing to fix the broken thread in the previous one.]
This patchset adds vhost-blk support. vhost-blk is a in kernel virito-blk
device accelerator. Compared to userspace virtio-blk implementation, vhost-blk
gives about 5% to 15% performance improvement.
Asias He (5):
aio: Export symbols and struct kiocb_batch for in kernel aio usage
eventfd: Export symbol eventfd_file_create()
vhost: Make vhost a separate module
vhost-net: Use VHOST_NET_FEATURES for vhost-net
vhost-blk: Add vhost-blk support
drivers/vhost/Kconfig | 20 +-
drivers/vhost/Makefile | 6 +-
drivers/vhost/blk.c | 600...
2018 Nov 02
2
[PATCH 0/1] vhost: add vhost_blk driver
...n Fri, Nov 02, 2018 at 06:21:22PM +0000, Vitaly Mayatskikh wrote:
> vhost_blk is a host-side kernel mode accelerator for virtio-blk. The
> driver allows VM to reach a near bare-metal disk performance. See IOPS
> numbers below (fio --rw=randread --bs=4k).
>
> This implementation uses kiocb interface. It is slightly slower than
> going directly through bio, but is simpler and also works with disk
> images placed on a file system.
>
> # fio num-jobs
> # A: bare metal over block
> # B: bare metal over file
> # C: virtio-blk over block
> # D: virtio-blk over file...
2010 May 12
0
[PATCH 2/4] direct-io: add a hook for the fs to provide its own submit_bio function V3
...io *dio, struct page *page,
dio->cur_page_offset = offset;
dio->cur_page_len = len;
dio->cur_page_block = blocknr;
+ dio->cur_page_fs_offset = dio->block_in_file << dio->blkbits;
out:
return ret;
}
@@ -935,7 +956,7 @@ static ssize_t
direct_io_worker(int rw, struct kiocb *iocb, struct inode *inode,
const struct iovec *iov, loff_t offset, unsigned long nr_segs,
unsigned blkbits, get_block_t get_block, dio_iodone_t end_io,
- struct dio *dio)
+ dio_submit_t submit_io, struct dio *dio)
{
unsigned long user_addr;
unsigned long flags;
@@ -952,6 +973,7 @@ dire...
2023 Feb 27
2
report BUG: io_uring triggers umount error
...put() which causes umount failure
> issue.
>
> io_issue_sqe
> + io_assign_file //call fget(), but missing fput()
> + def->issue()
> | io_read
> | + io_iter_do_read
> | | ocfs2_file_read_iter
> | | return: -EOPNOTSUPP //iocb->ki_flags:0x8
> | + kiocb_done
> | + io_rw_done(&rw->kiocb, ret)
> | | kiocb->ki_complete(kiocb, ret)
> | | io_complete_rw
> | | __io_complete_rw_common
> | | + req->flags |= REQ_F_REISSUE | REQ_F_PARTIAL_IO;
> | | + return true
> |...
2009 Nov 04
0
[PATCHv8 1/3] tun: export underlying socket
...t_iovec(skb, 0, iv, total, len);
- total += len;
+ total += skb->len;
tun->dev->stats.tx_packets++;
tun->dev->stats.tx_bytes += len;
@@ -751,34 +754,23 @@ static __inline__ ssize_t tun_put_user(struct tun_struct *tun,
return total;
}
-static ssize_t tun_chr_aio_read(struct kiocb *iocb, const struct iovec *iv,
- unsigned long count, loff_t pos)
+static ssize_t tun_do_read(struct tun_struct *tun,
+ struct kiocb *iocb, const struct iovec *iv,
+ ssize_t len, int noblock)
{
- struct file *file = iocb->ki_filp;
- struct tun_file *tfile = file->private_data...
2009 Nov 04
0
[PATCHv8 1/3] tun: export underlying socket
...t_iovec(skb, 0, iv, total, len);
- total += len;
+ total += skb->len;
tun->dev->stats.tx_packets++;
tun->dev->stats.tx_bytes += len;
@@ -751,34 +754,23 @@ static __inline__ ssize_t tun_put_user(struct tun_struct *tun,
return total;
}
-static ssize_t tun_chr_aio_read(struct kiocb *iocb, const struct iovec *iv,
- unsigned long count, loff_t pos)
+static ssize_t tun_do_read(struct tun_struct *tun,
+ struct kiocb *iocb, const struct iovec *iv,
+ ssize_t len, int noblock)
{
- struct file *file = iocb->ki_filp;
- struct tun_file *tfile = file->private_data...
2023 Feb 26
1
report BUG: io_uring triggers umount error
...ails
io_iter_do_read(), the io_issue_sqe missing fput() which causes umount failure
issue.
io_issue_sqe
+ io_assign_file //call fget(), but missing fput()
+ def->issue()
| io_read
| + io_iter_do_read
| | ocfs2_file_read_iter
| | return: -EOPNOTSUPP //iocb->ki_flags:0x8
| + kiocb_done
| + io_rw_done(&rw->kiocb, ret)
| | kiocb->ki_complete(kiocb, ret)
| | io_complete_rw
| | __io_complete_rw_common
| | + req->flags |= REQ_F_REISSUE | REQ_F_PARTIAL_IO;
| | + return true
| + io_req_task_queue_reissue/i...
2009 Nov 03
1
[PATCHv7 1/3] tun: export underlying socket
...t_iovec(skb, 0, iv, total, len);
- total += len;
+ total += skb->len;
tun->dev->stats.tx_packets++;
tun->dev->stats.tx_bytes += len;
@@ -751,34 +754,23 @@ static __inline__ ssize_t tun_put_user(struct tun_struct *tun,
return total;
}
-static ssize_t tun_chr_aio_read(struct kiocb *iocb, const struct iovec *iv,
- unsigned long count, loff_t pos)
+static ssize_t tun_do_read(struct tun_struct *tun,
+ struct kiocb *iocb, const struct iovec *iv,
+ ssize_t len, int noblock)
{
- struct file *file = iocb->ki_filp;
- struct tun_file *tfile = file->private_data...
2009 Nov 03
1
[PATCHv7 1/3] tun: export underlying socket
...t_iovec(skb, 0, iv, total, len);
- total += len;
+ total += skb->len;
tun->dev->stats.tx_packets++;
tun->dev->stats.tx_bytes += len;
@@ -751,34 +754,23 @@ static __inline__ ssize_t tun_put_user(struct tun_struct *tun,
return total;
}
-static ssize_t tun_chr_aio_read(struct kiocb *iocb, const struct iovec *iv,
- unsigned long count, loff_t pos)
+static ssize_t tun_do_read(struct tun_struct *tun,
+ struct kiocb *iocb, const struct iovec *iv,
+ ssize_t len, int noblock)
{
- struct file *file = iocb->ki_filp;
- struct tun_file *tfile = file->private_data...
2023 Mar 01
1
report BUG: io_uring triggers umount error
...gt; issue.
>>
>> io_issue_sqe
>> + io_assign_file //call fget(), but missing fput()
>> + def->issue()
>> | io_read
>> | + io_iter_do_read
>> | | ocfs2_file_read_iter
>> | | return: -EOPNOTSUPP //iocb->ki_flags:0x8
>> | + kiocb_done
>> | + io_rw_done(&rw->kiocb, ret)
>> | | kiocb->ki_complete(kiocb, ret)
>> | | io_complete_rw
>> | | __io_complete_rw_common
>> | | + req->flags |= REQ_F_REISSUE | REQ_F_PARTIAL_IO;
>> | |...