mirror of
https://github.com/torvalds/linux.git
synced 2026-10-16 21:00:02 +02:00
iomap: introduce iomap_fsverity_write() for writing fsverity metadata
This is just a wrapper around iomap_file_buffered_write() to create necessary iterator over metadata. Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org> Link: https://patch.msgid.link/20260520123722.405752-10-aalbersh@kernel.org Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
This commit is contained in:
parent
1d14073175
commit
36a36c4cac
|
|
@ -1290,6 +1290,31 @@ iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *i,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(iomap_file_buffered_write);
|
||||
|
||||
int iomap_fsverity_write(struct file *file, loff_t pos, size_t length,
|
||||
const void *buf, const struct iomap_ops *ops,
|
||||
const struct iomap_write_ops *write_ops)
|
||||
{
|
||||
int ret;
|
||||
struct iov_iter iiter;
|
||||
struct kvec kvec = {
|
||||
.iov_base = (void *)buf,
|
||||
.iov_len = length,
|
||||
};
|
||||
struct kiocb iocb = {
|
||||
.ki_filp = file,
|
||||
.ki_ioprio = get_current_ioprio(),
|
||||
.ki_pos = pos,
|
||||
};
|
||||
|
||||
iov_iter_kvec(&iiter, WRITE, &kvec, 1, length);
|
||||
|
||||
ret = iomap_file_buffered_write(&iocb, &iiter, ops, write_ops, NULL);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return ret == length ? 0 : -EIO;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(iomap_fsverity_write);
|
||||
|
||||
static void iomap_write_delalloc_ifs_punch(struct inode *inode,
|
||||
struct folio *folio, loff_t start_byte, loff_t end_byte,
|
||||
struct iomap *iomap, iomap_punch_t punch)
|
||||
|
|
|
|||
|
|
@ -353,6 +353,9 @@ static inline bool iomap_want_unshare_iter(const struct iomap_iter *iter)
|
|||
ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from,
|
||||
const struct iomap_ops *ops,
|
||||
const struct iomap_write_ops *write_ops, void *private);
|
||||
int iomap_fsverity_write(struct file *file, loff_t pos, size_t length,
|
||||
const void *buf, const struct iomap_ops *ops,
|
||||
const struct iomap_write_ops *write_ops);
|
||||
void iomap_read_folio(const struct iomap_ops *ops,
|
||||
struct iomap_read_folio_ctx *ctx, void *private);
|
||||
void iomap_readahead(const struct iomap_ops *ops,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user