Pull ext4 updates from Ted Ts'o: "Many bug fixes and cleanups, and an optimization for case-insensitive lookups" * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: fix coverity warning on error path of filename setup ext4: replace ktype default_attrs with default_groups ext4: rename htree_inline_dir_to_tree() to ext4_inlinedir_to_tree() ext4: refactor initialize_dirent_tail() ext4: rename "dirent_csum" functions to use "dirblock" ext4: allow directory holes jbd2: drop declaration of journal_sync_buffer() ext4: use jbd2_inode dirty range scoping jbd2: introduce jbd2_inode dirty range scoping mm: add filemap_fdatawait_range_keep_errors() ext4: remove redundant assignment to node ext4: optimize case-insensitive lookups ext4: make __ext4_get_inode_loc plug ext4: clean up kerneldoc warnigns when building with W=1 ext4: only set project inherit bit for directory ext4: enforce the immutable flag on open files ext4: don't allow any modifications to an immutable file jbd2: fix typo in comment of journal_submit_inode_data_buffers jbd2: fix some print format mistakes ext4: gracefully handle ext4_break_layouts() failure during truncate
Showing the changes to include/linux (3 of 23 files). Show all
Unified · Split
| @@ -2718,6 +2718,8 @@ extern int filemap_flush(struct address_space *); · 2717 unmodified lines | ||
| 2718 | 2718 | extern int filemap_fdatawait_keep_errors(struct address_space *mapping); |
| 2719 | 2719 | extern int filemap_fdatawait_range(struct address_space *, loff_t lstart, |
| 2720 | 2720 | loff_t lend); |
| 2721 | +extern int filemap_fdatawait_range_keep_errors(struct address_space *mapping, | |
| 2722 | + loff_t start_byte, loff_t end_byte); | |
| 2721 | 2723 | |
| 2722 | 2724 | static inline int filemap_fdatawait(struct address_space *mapping) |
| 2723 | 2725 | { |
| @@ -451,6 +451,22 @@ struct jbd2_inode { · 450 unmodified lines | ||
| 451 | 451 | * @i_flags: Flags of inode [j_list_lock] |
| 452 | 452 | */ |
| 453 | 453 | unsigned long i_flags; |
| 454 | + | |
| 455 | + /** | |
| 456 | + * @i_dirty_start: | |
| 457 | + * | |
| 458 | + * Offset in bytes where the dirty range for this inode starts. | |
| 459 | + * [j_list_lock] | |
| 460 | + */ | |
| 461 | + loff_t i_dirty_start; | |
| 462 | + | |
| 463 | + /** | |
| 464 | + * @i_dirty_end: | |
| 465 | + * | |
| 466 | + * Inclusive offset in bytes where the dirty range for this inode | |
| 467 | + * ends. [j_list_lock] | |
| 468 | + */ | |
| 469 | + loff_t i_dirty_end; | |
| 454 | 470 | }; |
| 455 | 471 | |
| 456 | 472 | struct jbd2_revoke_table_s; |
| @@ -1357,7 +1373,6 @@ void jbd2_journal_set_triggers(struct buffer_head *, · 900 unmodified lines | ||
| 1357 | 1373 | struct jbd2_buffer_trigger_type *type); |
| 1358 | 1374 | extern int jbd2_journal_dirty_metadata (handle_t *, struct buffer_head *); |
| 1359 | 1375 | extern int jbd2_journal_forget (handle_t *, struct buffer_head *); |
| 1360 | −extern void journal_sync_buffer (struct buffer_head *); | |
| 1361 | 1376 | extern int jbd2_journal_invalidatepage(journal_t *, |
| 1362 | 1377 | struct page *, unsigned int, unsigned int); |
| 1363 | 1378 | extern int jbd2_journal_try_to_free_buffers(journal_t *, struct page *, gfp_t); |
| @@ -1397,6 +1412,12 @@ extern int jbd2_journal_force_commit(journal_t *); · 33 unmodified lines | ||
| 1397 | 1412 | extern int jbd2_journal_force_commit_nested(journal_t *); |
| 1398 | 1413 | extern int jbd2_journal_inode_add_write(handle_t *handle, struct jbd2_inode *inode); |
| 1399 | 1414 | extern int jbd2_journal_inode_add_wait(handle_t *handle, struct jbd2_inode *inode); |
| 1415 | +extern int jbd2_journal_inode_ranged_write(handle_t *handle, | |
| 1416 | + struct jbd2_inode *inode, loff_t start_byte, | |
| 1417 | + loff_t length); | |
| 1418 | +extern int jbd2_journal_inode_ranged_wait(handle_t *handle, | |
| 1419 | + struct jbd2_inode *inode, loff_t start_byte, | |
| 1420 | + loff_t length); | |
| 1400 | 1421 | extern int jbd2_journal_begin_ordered_truncate(journal_t *journal, |
| 1401 | 1422 | struct jbd2_inode *inode, loff_t new_size); |
| 1402 | 1423 | extern void jbd2_journal_init_jbd_inode(struct jbd2_inode *jinode, struct inode *inode); |
| @@ -17,6 +17,9 @@ int utf8_strncmp(const struct unicode_map *um, · 16 unmodified lines | ||
| 17 | 17 | |
| 18 | 18 | int utf8_strncasecmp(const struct unicode_map *um, |
| 19 | 19 | const struct qstr *s1, const struct qstr *s2); |
| 20 | +int utf8_strncasecmp_folded(const struct unicode_map *um, | |
| 21 | + const struct qstr *cf, | |
| 22 | + const struct qstr *s1); | |
| 20 | 23 | |
| 21 | 24 | int utf8_normalize(const struct unicode_map *um, const struct qstr *str, |
| 22 | 25 | unsigned char *dest, size_t dlen); |