History log of /linux-6.15/fs/ext2/dir.c (Results 1 – 25 of 81)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


1234