Actions
Bug #2217
closedsync and O_DIRECT writes only write first extent in iov vector
Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Development
Tags:
Backport:
Regression:
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
static ssize_t ceph_aio_write(struct kiocb *iocb, const struct iovec *iov,
unsigned long nr_segs, loff_t pos)
...calls...
ret = ceph_sync_write(file, iov->iov_base, iov->iov_len,
&iocb->ki_pos);
only writing the first buffer extent!
Updated by Alex Elder about 12 years ago
The code should not be written that way.
However I think it doesn't matter at this point, because the only caller
(via the file_operatinos->aio_write method) is do_sync_write(), which
only ever (currently) passes a single segment in the iov.
Updated by Sage Weil over 11 years ago
- Project changed from Linux kernel client to CephFS
- Category deleted (
fs/ceph)
Updated by Zheng Yan over 10 years ago
- Status changed from New to Resolved
by commit 53d028160f (ceph: implement readv/preadv for sync operation) and commit 2f0a7a1808 (ceph: Implement writev/pwritev for sync operation)
Actions