summaryrefslogtreecommitdiffstats
path: root/fs/udf/udfdecl.h
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2023-01-19 10:51:21 +0100
committerJan Kara <jack@suse.cz>2023-01-26 16:46:35 +0100
commit3c21204818ae45504b5d8ce8902748ef2306f0f3 (patch)
tree5768468b7032d20266917b5fb0f61ee614f6ce5c /fs/udf/udfdecl.h
parentb9a861fd527ab123e76effb492b4eb7e8115d4ca (diff)
downloadlinux-stable-3c21204818ae45504b5d8ce8902748ef2306f0f3.tar.gz
linux-stable-3c21204818ae45504b5d8ce8902748ef2306f0f3.tar.bz2
linux-stable-3c21204818ae45504b5d8ce8902748ef2306f0f3.zip
udf: Allocate blocks on write page fault
Currently if file with holes is mapped, udf allocates blocks for dirtied pages during page writeback. This however creates problems when to truncate final extent to proper size and currently we leave the last extent untruncated which violates UDF standard. So allocate blocks on write page fault instead. In that case the last extent gets truncated the file is closed and everything is happy. Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf/udfdecl.h')
-rw-r--r--fs/udf/udfdecl.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h
index 98b4d89b4368..5ba59ab90d48 100644
--- a/fs/udf/udfdecl.h
+++ b/fs/udf/udfdecl.h
@@ -160,6 +160,7 @@ extern void udf_evict_inode(struct inode *);
extern int udf_write_inode(struct inode *, struct writeback_control *wbc);
extern int8_t inode_bmap(struct inode *, sector_t, struct extent_position *,
struct kernel_lb_addr *, uint32_t *, sector_t *);
+int udf_get_block(struct inode *, sector_t, struct buffer_head *, int);
extern int udf_setup_indirect_aext(struct inode *inode, udf_pblk_t block,
struct extent_position *epos);
extern int __udf_add_aext(struct inode *inode, struct extent_position *epos,