diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-14 17:13:11 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-14 17:13:11 -0500 |
commit | f14fc0ccee5521e5b38cdd1df4385d32c6e1805b (patch) | |
tree | 0d16887967fee217cae343ffebc6666e3fd4265d /fs/udf/udfdecl.h | |
parent | 23281c8034879c47639ee0f76c34d13ef6beb8ce (diff) | |
parent | 838bee9e756ec46e9b5be25f9e44388d7e185a2a (diff) |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Pull quota, ext2, isofs and udf fixes from Jan Kara:
- two small quota error handling fixes
- two isofs fixes for architectures with signed char
- several udf block number overflow and signedness fixes
- ext2 rework of mount option handling to avoid GFP_KERNEL allocation
with spinlock held
- ... it also contains a patch to implement auditing of responses to
fanotify permission events. That should have been in the fanotify
pull request but I mistakenly merged that patch into a wrong branch
and noticed only now at which point I don't think it's worth rebasing
and redoing.
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
quota: be aware of error from dquot_initialize
quota: fix potential infinite loop
isofs: use unsigned char types consistently
isofs: fix timestamps beyond 2027
udf: Fix some sign-conversion warnings
udf: Fix signed/unsigned format specifiers
udf: Fix 64-bit sign extension issues affecting blocks > 0x7FFFFFFF
udf: Remove some outdate references from documentation
udf: Avoid overflow when session starts at large offset
ext2: Fix possible sleep in atomic during mount option parsing
ext2: Parse mount options into a dedicated structure
audit: Record fanotify access control decisions
Diffstat (limited to 'fs/udf/udfdecl.h')
-rw-r--r-- | fs/udf/udfdecl.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/fs/udf/udfdecl.h b/fs/udf/udfdecl.h index fa206558128d..f5e0fe78979e 100644 --- a/fs/udf/udfdecl.h +++ b/fs/udf/udfdecl.h | |||
@@ -74,6 +74,8 @@ static inline size_t udf_ext0_offset(struct inode *inode) | |||
74 | /* computes tag checksum */ | 74 | /* computes tag checksum */ |
75 | u8 udf_tag_checksum(const struct tag *t); | 75 | u8 udf_tag_checksum(const struct tag *t); |
76 | 76 | ||
77 | typedef uint32_t udf_pblk_t; | ||
78 | |||
77 | struct dentry; | 79 | struct dentry; |
78 | struct inode; | 80 | struct inode; |
79 | struct task_struct; | 81 | struct task_struct; |
@@ -145,15 +147,17 @@ static inline struct inode *udf_iget(struct super_block *sb, | |||
145 | return __udf_iget(sb, ino, false); | 147 | return __udf_iget(sb, ino, false); |
146 | } | 148 | } |
147 | extern int udf_expand_file_adinicb(struct inode *); | 149 | extern int udf_expand_file_adinicb(struct inode *); |
148 | extern struct buffer_head *udf_expand_dir_adinicb(struct inode *, int *, int *); | 150 | extern struct buffer_head *udf_expand_dir_adinicb(struct inode *inode, |
149 | extern struct buffer_head *udf_bread(struct inode *, int, int, int *); | 151 | udf_pblk_t *block, int *err); |
152 | extern struct buffer_head *udf_bread(struct inode *inode, udf_pblk_t block, | ||
153 | int create, int *err); | ||
150 | extern int udf_setsize(struct inode *, loff_t); | 154 | extern int udf_setsize(struct inode *, loff_t); |
151 | extern void udf_evict_inode(struct inode *); | 155 | extern void udf_evict_inode(struct inode *); |
152 | extern int udf_write_inode(struct inode *, struct writeback_control *wbc); | 156 | extern int udf_write_inode(struct inode *, struct writeback_control *wbc); |
153 | extern long udf_block_map(struct inode *, sector_t); | 157 | extern udf_pblk_t udf_block_map(struct inode *inode, sector_t block); |
154 | extern int8_t inode_bmap(struct inode *, sector_t, struct extent_position *, | 158 | extern int8_t inode_bmap(struct inode *, sector_t, struct extent_position *, |
155 | struct kernel_lb_addr *, uint32_t *, sector_t *); | 159 | struct kernel_lb_addr *, uint32_t *, sector_t *); |
156 | extern int udf_setup_indirect_aext(struct inode *inode, int block, | 160 | extern int udf_setup_indirect_aext(struct inode *inode, udf_pblk_t block, |
157 | struct extent_position *epos); | 161 | struct extent_position *epos); |
158 | extern int __udf_add_aext(struct inode *inode, struct extent_position *epos, | 162 | extern int __udf_add_aext(struct inode *inode, struct extent_position *epos, |
159 | struct kernel_lb_addr *eloc, uint32_t elen, int inc); | 163 | struct kernel_lb_addr *eloc, uint32_t elen, int inc); |
@@ -169,8 +173,9 @@ extern int8_t udf_current_aext(struct inode *, struct extent_position *, | |||
169 | struct kernel_lb_addr *, uint32_t *, int); | 173 | struct kernel_lb_addr *, uint32_t *, int); |
170 | 174 | ||
171 | /* misc.c */ | 175 | /* misc.c */ |
172 | extern struct buffer_head *udf_tgetblk(struct super_block *, int); | 176 | extern struct buffer_head *udf_tgetblk(struct super_block *sb, |
173 | extern struct buffer_head *udf_tread(struct super_block *, int); | 177 | udf_pblk_t block); |
178 | extern struct buffer_head *udf_tread(struct super_block *sb, udf_pblk_t block); | ||
174 | extern struct genericFormat *udf_add_extendedattr(struct inode *, uint32_t, | 179 | extern struct genericFormat *udf_add_extendedattr(struct inode *, uint32_t, |
175 | uint32_t, uint8_t); | 180 | uint32_t, uint8_t); |
176 | extern struct genericFormat *udf_get_extendedattr(struct inode *, uint32_t, | 181 | extern struct genericFormat *udf_get_extendedattr(struct inode *, uint32_t, |
@@ -229,8 +234,8 @@ extern void udf_free_blocks(struct super_block *, struct inode *, | |||
229 | struct kernel_lb_addr *, uint32_t, uint32_t); | 234 | struct kernel_lb_addr *, uint32_t, uint32_t); |
230 | extern int udf_prealloc_blocks(struct super_block *, struct inode *, uint16_t, | 235 | extern int udf_prealloc_blocks(struct super_block *, struct inode *, uint16_t, |
231 | uint32_t, uint32_t); | 236 | uint32_t, uint32_t); |
232 | extern int udf_new_block(struct super_block *, struct inode *, uint16_t, | 237 | extern udf_pblk_t udf_new_block(struct super_block *sb, struct inode *inode, |
233 | uint32_t, int *); | 238 | uint16_t partition, uint32_t goal, int *err); |
234 | 239 | ||
235 | /* directory.c */ | 240 | /* directory.c */ |
236 | extern struct fileIdentDesc *udf_fileident_read(struct inode *, loff_t *, | 241 | extern struct fileIdentDesc *udf_fileident_read(struct inode *, loff_t *, |