|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6 |
|
| #
794576e0 |
| 30-Aug-2024 |
Christian Brauner <[email protected]> |
ext2: store cookie in private data
Store the cookie to detect concurrent seeks on directories in file->private_data.
Link: https://lore.kernel.org/r/20240830-vfs-file-f_version-v1-10-6d3e4816aa7b@k
ext2: store cookie in private data
Store the cookie to detect concurrent seeks on directories in file->private_data.
Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Jan Kara <[email protected]> Reviewed-by: Jeff Layton <[email protected]> Signed-off-by: Christian Brauner <[email protected]>
show more ...
|
|
Revision tags: v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10 |
|
| #
9f04609f |
| 11-Jul-2024 |
Matthew Wilcox (Oracle) <[email protected]> |
buffer: Convert __block_write_begin() to take a folio
Almost all callers have a folio now, so change __block_write_begin() to take a folio and remove a call to compound_head().
Reviewed-by: Josef B
buffer: Convert __block_write_begin() to take a folio
Almost all callers have a folio now, so change __block_write_begin() to take a folio and remove a call to compound_head().
Reviewed-by: Josef Bacik <[email protected]> Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Christian Brauner <[email protected]>
show more ...
|
| #
97edbc02 |
| 10-Jul-2024 |
Matthew Wilcox (Oracle) <[email protected]> |
buffer: Convert block_write_end() to take a folio
All callers now have a folio, so pass it in instead of converting from a folio to a page and back to a folio again. Saves a call to compound_head()
buffer: Convert block_write_end() to take a folio
All callers now have a folio, so pass it in instead of converting from a folio to a page and back to a folio again. Saves a call to compound_head().
Reviewed-by: Josef Bacik <[email protected]> Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Christian Brauner <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5 |
|
| #
72a5425a |
| 20-Apr-2024 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Remove call to folio_set_error()
Nobody checks this flag on ext2 folios, stop setting it.
Cc: Jan Kara <[email protected]> Cc: [email protected] Signed-off-by: Matthew Wilcox (Oracle) <w
ext2: Remove call to folio_set_error()
Nobody checks this flag on ext2 folios, stop setting it.
Cc: Jan Kara <[email protected]> Cc: [email protected] Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc4, v6.9-rc3, v6.9-rc2, v6.9-rc1, v6.8, v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4, v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7, v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6, v6.6-rc7, v6.6-rc6, v6.6-rc5, v6.6-rc4, v6.6-rc3 |
|
| #
82dd6206 |
| 21-Sep-2023 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Convert ext2_prepare_chunk and ext2_commit_chunk to folios
All callers now have a folio, so pass it in. Saves one call to compound_head().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infra
ext2: Convert ext2_prepare_chunk and ext2_commit_chunk to folios
All callers now have a folio, so pass it in. Saves one call to compound_head().
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]>
show more ...
|
| #
da3a849a |
| 21-Sep-2023 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Convert ext2_make_empty() to use a folio
Remove two hidden calls to compound_head() by using the folio API.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kar
ext2: Convert ext2_make_empty() to use a folio
Remove two hidden calls to compound_head() by using the folio API.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
| #
c2d20492 |
| 21-Sep-2023 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Convert ext2_unlink() and ext2_rename() to use folios
This involves changing ext2_find_entry(), ext2_dotdot(), ext2_inode_by_name(), ext2_set_link() and ext2_delete_entry() to take a folio. T
ext2: Convert ext2_unlink() and ext2_rename() to use folios
This involves changing ext2_find_entry(), ext2_dotdot(), ext2_inode_by_name(), ext2_set_link() and ext2_delete_entry() to take a folio. These were also the last users of ext2_get_page() and ext2_put_page(), so remove those at the same time.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
| #
7e56bbf1 |
| 21-Sep-2023 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Convert ext2_delete_entry() to use folios
Save some calls to compound_head() by using the folio API.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <jack
ext2: Convert ext2_delete_entry() to use folios
Save some calls to compound_head() by using the folio API.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
| #
f4b830cf |
| 21-Sep-2023 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Convert ext2_empty_dir() to use a folio
Save two calls to compound_head() by using the folio API.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <jack@su
ext2: Convert ext2_empty_dir() to use a folio
Save two calls to compound_head() by using the folio API.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
| #
1de0736c |
| 21-Sep-2023 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Convert ext2_add_link() to use a folio
Remove five hidden calls to compound_head() and fix a couple of places that assumed PAGE_SIZE.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]
ext2: Convert ext2_add_link() to use a folio
Remove five hidden calls to compound_head() and fix a couple of places that assumed PAGE_SIZE.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
| #
51706b6f |
| 21-Sep-2023 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Convert ext2_readdir to use a folio
Saves a hidden call to compound_head().
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <20
ext2: Convert ext2_readdir to use a folio
Saves a hidden call to compound_head().
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
| #
52df49ee |
| 21-Sep-2023 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Add ext2_get_folio()
Convert ext2_get_page() into ext2_get_folio() and keep the original function around as a temporary wrapper.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> S
ext2: Add ext2_get_folio()
Convert ext2_get_page() into ext2_get_folio() and keep the original function around as a temporary wrapper.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
| #
46f84a9b |
| 21-Sep-2023 |
Matthew Wilcox (Oracle) <[email protected]> |
ext2: Convert ext2_check_page to ext2_check_folio
Support in this function for large folios is limited to supporting filesystems with block size > PAGE_SIZE. This new functionality will only be sup
ext2: Convert ext2_check_page to ext2_check_folio
Support in this function for large folios is limited to supporting filesystems with block size > PAGE_SIZE. This new functionality will only be supported on machines without HIGHMEM, so the problem of kmap_local only being able to map a single page in the folio can be ignored. We will not use large folios for ext2 directories on HIGHMEM machines.
Signed-off-by: Matthew Wilcox (Oracle) <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
| #
5cdc59fc |
| 04-Oct-2023 |
Jeff Layton <[email protected]> |
ext2: convert to new timestamp accessors
Convert to using the new inode timestamp accessor functions.
Signed-off-by: Jeff Layton <[email protected]> Link: https://lore.kernel.org/r/20231004185347.
ext2: convert to new timestamp accessors
Convert to using the new inode timestamp accessor functions.
Signed-off-by: Jeff Layton <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Christian Brauner <[email protected]>
show more ...
|
|
Revision tags: v6.6-rc2, v6.6-rc1, v6.5, v6.5-rc7, v6.5-rc6, v6.5-rc5, v6.5-rc4, v6.5-rc3, v6.5-rc2, v6.5-rc1 |
|
| #
fc4eed64 |
| 05-Jul-2023 |
Jeff Layton <[email protected]> |
ext2: convert to ctime accessor functions
In later patches, we're going to change how the inode's ctime field is used. Switch to using accessor functions instead of raw accesses of inode->i_ctime.
ext2: convert to ctime accessor functions
In later patches, we're going to change how the inode's ctime field is used. Switch to using accessor functions instead of raw accesses of inode->i_ctime.
Signed-off-by: Jeff Layton <[email protected]> Reviewed-by: Jan Kara <[email protected]> Message-Id: <[email protected]> Signed-off-by: Christian Brauner <[email protected]>
show more ...
|
|
Revision tags: v6.4, v6.4-rc7, v6.4-rc6, v6.4-rc5, v6.4-rc4, v6.4-rc3, v6.4-rc2, v6.4-rc1, v6.3, v6.3-rc7, v6.3-rc6, v6.3-rc5, v6.3-rc4, v6.3-rc3, v6.3-rc2, v6.3-rc1, v6.2, v6.2-rc8, v6.2-rc7, v6.2-rc6, v6.2-rc5, v6.2-rc4, v6.2-rc3, v6.2-rc2, v6.2-rc1 |
|
| #
b8b9e8b3 |
| 14-Dec-2022 |
Al Viro <[email protected]> |
ext2_find_entry()/ext2_dotdot(): callers don't need page_addr anymore
... and that's how it should've been done in the first place
Signed-off-by: Al Viro <[email protected]> Reviewed-by: Fabi
ext2_find_entry()/ext2_dotdot(): callers don't need page_addr anymore
... and that's how it should've been done in the first place
Signed-off-by: Al Viro <[email protected]> Reviewed-by: Fabio M. De Francesco <[email protected]> Tested-by: Fabio M. De Francesco <[email protected]> Signed-off-by: Jan Kara <[email protected]>
show more ...
|
| #
dae42837 |
| 14-Dec-2022 |
Al Viro <[email protected]> |
ext2_{set_link,delete_entry}(): don't bother with page_addr
ext2_set_link() simply doesn't use it anymore and ext2_delete_entry() can easily obtain it from the directory entry pointer...
Signed-off
ext2_{set_link,delete_entry}(): don't bother with page_addr
ext2_set_link() simply doesn't use it anymore and ext2_delete_entry() can easily obtain it from the directory entry pointer...
Signed-off-by: Al Viro <[email protected]> Reviewed-by: Fabio M. De Francesco <[email protected]> Tested-by: Fabio M. De Francesco <[email protected]> Signed-off-by: Jan Kara <[email protected]>
show more ...
|
| #
91f646fb |
| 14-Dec-2022 |
Al Viro <[email protected]> |
ext2_put_page(): accept any pointer within the page
eliminates the need to keep the pointer to the first byte within the page if we are guaranteed to have pointers to some byte in the same page at h
ext2_put_page(): accept any pointer within the page
eliminates the need to keep the pointer to the first byte within the page if we are guaranteed to have pointers to some byte in the same page at hand.
Don't backport without commit 88d7b12068b9 ("highmem: round down the address passed to kunmap_flush_on_unmap()").
Signed-off-by: Al Viro <[email protected]> Reviewed-by: Fabio M. De Francesco <[email protected]> Tested-by: Fabio M. De Francesco <[email protected]> Signed-off-by: Jan Kara <[email protected]>
show more ...
|
| #
46022375 |
| 14-Dec-2022 |
Al Viro <[email protected]> |
ext2_get_page(): saner type
We need to pass to caller both the page reference and pointer to the first byte in the now-mapped page. The former always has the same type, the latter varies from calle
ext2_get_page(): saner type
We need to pass to caller both the page reference and pointer to the first byte in the now-mapped page. The former always has the same type, the latter varies from caller to caller. So make it void *ext2_get_page(...., struct page **page) rather than struct page *ext2_get_page(..., void **page_addr) and avoid the casts...
Signed-off-by: Al Viro <[email protected]> Reviewed-by: Fabio M. De Francesco <[email protected]> Tested-by: Fabio M. De Francesco <[email protected]> Signed-off-by: Jan Kara <[email protected]>
show more ...
|
| #
86008392 |
| 14-Dec-2022 |
Al Viro <[email protected]> |
ext2: use offset_in_page() instead of open-coding it as subtraction
Signed-off-by: Al Viro <[email protected]> Reviewed-by: Fabio M. De Francesco <[email protected]> Tested-by: Fabio M.
ext2: use offset_in_page() instead of open-coding it as subtraction
Signed-off-by: Al Viro <[email protected]> Reviewed-by: Fabio M. De Francesco <[email protected]> Tested-by: Fabio M. De Francesco <[email protected]> Signed-off-by: Jan Kara <[email protected]>
show more ...
|
| #
8f1dca19 |
| 11-Jan-2023 |
Al Viro <[email protected]> |
ext2_rename(): set_link and delete_entry may fail
Signed-off-by: Al Viro <[email protected]> Reviewed-by: Fabio M. De Francesco <[email protected]> Tested-by: Fabio M. De Francesco <fmde
ext2_rename(): set_link and delete_entry may fail
Signed-off-by: Al Viro <[email protected]> Reviewed-by: Fabio M. De Francesco <[email protected]> Tested-by: Fabio M. De Francesco <[email protected]> Signed-off-by: Jan Kara <[email protected]>
show more ...
|
| #
7a5fa171 |
| 16-Jan-2023 |
Christoph Hellwig <[email protected]> |
ext2: propagate errors from ext2_prepare_chunk
Propagate errors from ext2_prepare_chunk to the callers and handle them there. While touching the prototype also turn update_times into a bool from th
ext2: propagate errors from ext2_prepare_chunk
Propagate errors from ext2_prepare_chunk to the callers and handle them there. While touching the prototype also turn update_times into a bool from the current int used as bool.
[JK: fixed up error recovery path in ext2_rename()]
Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
| #
96b87cbd |
| 31-Dec-2022 |
Fabio M. De Francesco <[email protected]> |
fs/ext2: Replace kmap_atomic() with kmap_local_page()
kmap_atomic() is deprecated in favor of kmap_local_page(). Therefore, replace kmap_atomic() with kmap_local_page().
kmap_atomic() is implemente
fs/ext2: Replace kmap_atomic() with kmap_local_page()
kmap_atomic() is deprecated in favor of kmap_local_page(). Therefore, replace kmap_atomic() with kmap_local_page().
kmap_atomic() is implemented like a kmap_local_page() which also disables page-faults and preemption (the latter only for !PREEMPT_RT kernels).
However, the code within the mapping and un-mapping in ext2_make_empty() does not depend on the above-mentioned side effects.
Therefore, a mere replacement of the old API with the new one is all it is required (i.e., there is no need to explicitly add any calls to pagefault_disable() and/or preempt_disable()).
Suggested-by: Ira Weiny <[email protected]> Reviewed-by: Ira Weiny <[email protected]> Signed-off-by: Fabio M. De Francesco <[email protected]> Signed-off-by: Jan Kara <[email protected]> Message-Id: <[email protected]>
show more ...
|
|
Revision tags: v6.1, v6.1-rc8, v6.1-rc7 |
|
| #
27e714c0 |
| 26-Nov-2022 |
Al Viro <[email protected]> |
ext2: unbugger ext2_empty_dir()
In 27cfa258951a "ext2: fix fs corruption when trying to remove a non-empty directory with IO error" a funny thing has happened:
- page = ext2_get_page(
ext2: unbugger ext2_empty_dir()
In 27cfa258951a "ext2: fix fs corruption when trying to remove a non-empty directory with IO error" a funny thing has happened:
- page = ext2_get_page(inode, i, dir_has_error, &page_addr); + page = ext2_get_page(inode, i, 0, &page_addr);
- if (IS_ERR(page)) { - dir_has_error = 1; - continue; - } + if (IS_ERR(page)) + goto not_empty;
And at not_empty: we hit ext2_put_page(page, page_addr), which does put_page(page). Which, unless I'm very mistaken, should oops immediately when given ERR_PTR(-E...) as page.
OK, shit happens, insufficiently tested patches included. But when commit in question describes the fault-injection test that exercised that particular failure exit...
Ow.
CC: [email protected] Fixes: 27cfa258951a ("ext2: fix fs corruption when trying to remove a non-empty directory with IO error") Signed-off-by: Al Viro <[email protected]> Signed-off-by: Jan Kara <[email protected]>
show more ...
|
|
Revision tags: v6.1-rc6 |
|
| #
bc943f48 |
| 16-Nov-2022 |
Jan Kara <[email protected]> |
ext2: Don't flush page immediately for DIRSYNC directories
We do not need to writeout modified directory blocks immediately when modifying them while the page is locked. It is enough to do the flush
ext2: Don't flush page immediately for DIRSYNC directories
We do not need to writeout modified directory blocks immediately when modifying them while the page is locked. It is enough to do the flush somewhat later which has the added benefit that inode times can be flushed as well. It also allows us to stop depending on write_one_page() function.
Signed-off-by: Jan Kara <[email protected]>
show more ...
|