Am Mi., 7. Juni 2023 um 00:48 Uhr schrieb Matthew Wilcox (Oracle)
:
> If any page in a folio is dirtied, dirty the entire folio. Removes a
> number of hidden calls to compound_head() and references to page->mapping
> and page->index.
>
> Signed-off-by: Matthew Wilcox (Oracle)
> ---
> fs/buffer.c
Am Mi., 7. Juni 2023 um 00:41 Uhr schrieb Matthew Wilcox (Oracle)
:
> Keep the interface as struct page, but work entirely on the folio
> internally. Removes several PAGE_SIZE assumptions and removes
> some references to page->index and page->mapping.
>
> Signed-off-by: Matthew Wilcox (Oracle)
>
Keep the interface as struct page, but work entirely on the folio
internally. Removes several PAGE_SIZE assumptions and removes
some references to page->index and page->mapping.
Signed-off-by: Matthew Wilcox (Oracle)
Tested-by: Bob Peterson
Reviewed-by: Bob Peterson
---
fs/buffer.c | 22 +
This removes a hidden call to compound_head() inside
__block_commit_write() and moves it to those callers which are still
page based. Also make block_write_end() safe for large folios.
Signed-off-by: Matthew Wilcox (Oracle)
---
fs/buffer.c | 38 +++---
1 file cha
We may someday support folios larger than 4GB, so use a size_t for
the byte count within a folio to prevent unpleasant truncations.
Signed-off-by: Matthew Wilcox (Oracle)
Tested-by: Bob Peterson
Reviewed-by: Bob Peterson
---
fs/gfs2/aops.c | 6 +++---
fs/gfs2/aops.h | 2 +-
2 files changed, 4
Remove nine hidden calls to compound_head() by using a folio instead
of a page.
Signed-off-by: Matthew Wilcox (Oracle)
Tested-by: Bob Peterson
Reviewed-by: Bob Peterson
---
fs/buffer.c | 53 +++--
fs/gfs2/aops.c | 5 ++--
fs/ntfs/ao
Remove a couple of folio->page conversions in the callers, and two
calls to compound_head() in the function itself. Rename it from
__gfs2_jdata_writepage() to __gfs2_jdata_write_folio().
Signed-off-by: Matthew Wilcox (Oracle)
Tested-by: Bob Peterson
Reviewed-by: Bob Peterson
---
fs/gfs2/aops.
Most of the callers already have a folio; convert reiserfs_write_end()
to have a folio. Removes a couple of hidden calls to compound_head().
Signed-off-by: Matthew Wilcox (Oracle)
---
fs/buffer.c | 27 ++-
fs/ext4/inode.c | 4 ++--
fs/reiserf
If any page in a folio is dirtied, dirty the entire folio. Removes a
number of hidden calls to compound_head() and references to page->mapping
and page->index.
Signed-off-by: Matthew Wilcox (Oracle)
---
fs/buffer.c | 27 +--
1 file changed, 13 insertions(+), 14 deletions
Add support for large folios and remove some accesses to page->mapping
and page->index.
Signed-off-by: Matthew Wilcox (Oracle)
Tested-by: Bob Peterson
Reviewed-by: Bob Peterson
---
fs/gfs2/aops.c | 26 +-
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/f
Replace a few implicit calls to compound_head() with one explicit one.
Signed-off-by: Matthew Wilcox (Oracle)
Tested-by: Bob Peterson
Reviewed-by: Bob Peterson
---
fs/gfs2/aops.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c
index
Saves a call to compound_head() and may be needed to support
block size > PAGE_SIZE.
Signed-off-by: Matthew Wilcox (Oracle)
---
fs/buffer.c | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/fs/buffer.c b/fs/buffer.c
index c81b8b20ad64..9f761a201e32 100644
--- a/fs/
Get a folio from the page cache instead of a page, then use the
folio API throughout. Removes a few calls to compound_head()
and may be needed to support block size > PAGE_SIZE.
Signed-off-by: Matthew Wilcox (Oracle)
---
fs/buffer.c | 34 +++---
1 file changed, 15 in
Use the folio API and pass the folio from both callers.
Saves a hidden call to compound_head().
Signed-off-by: Matthew Wilcox (Oracle)
---
fs/buffer.c | 18 --
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/fs/buffer.c b/fs/buffer.c
index c4fc4b3b8aab..9b789f109a5
Its one caller already has a folio, so switch it to use the
folio API. Removes a hidden call to compound_head().
Signed-off-by: Matthew Wilcox (Oracle)
---
fs/buffer.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/buffer.c b/fs/buffer.c
index 9b789f109a57..c81b8
Support large folios in block_truncate_page() and avoid three hidden
calls to compound_head().
Signed-off-by: Matthew Wilcox (Oracle)
---
fs/buffer.c | 28 +++-
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/fs/buffer.c b/fs/buffer.c
index 9f761a201e32..9
This kind of started off as a gfs2 patch series, then became entwined
with buffer heads once I realised that gfs2 was the only remaining
caller of __block_write_full_page(). For those not in the gfs2 world,
the big point of this series is that block_write_full_page() should now
handle large folios
Hi,
On Tue, Jun 6, 2023 at 5:56 PM Alexander Aring wrote:
>
> This patch is fixing the current the callback handling if it's a nfs
> async lock request signaled if fl_lmops is set.
>
> When using `stress-ng --fcntl 32` on the kernel log there are several
> messages like:
>
> [11185.123533] dlm: d
This patch is fixing the current the callback handling if it's a nfs
async lock request signaled if fl_lmops is set.
When using `stress-ng --fcntl 32` on the kernel log there are several
messages like:
[11185.123533] dlm: dlm_plock_callback: vfs lock error 5d5127 file
2dd10f4d fl 000
On Tue, Jun 6, 2023 at 2:55 PM Linus Torvalds
wrote:
> On Tue, Jun 6, 2023 at 5:48 AM Andreas Gruenbacher
> wrote:
> >
> > - Don't get stuck writing page onto itself under direct I/O.
>
> Btw, is there a test for this DIO case?
The previous test case I wrote for these kinds of page faults is:
The pull request you sent on Tue, 6 Jun 2023 14:48:00 +0200:
> git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
> tags/gfs2-v6.4-rc4-fix
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/0bdd0f0bf17c5aac16f348ee4b1ebf23d1ec1649
Thank you!
--
Deet-doo
On Tue, Jun 6, 2023 at 5:48 AM Andreas Gruenbacher wrote:
>
> - Don't get stuck writing page onto itself under direct I/O.
Btw, is there a test for this DIO case?
We've had the deadlock issue on t page lock (or for inode locks or
whatever) for normal IO when faulting in the same page that is wri
Hi Linus,
please consider pulling the following fix.
Thanks,
Andreas
The following changes since commit 48b1320a674e1ff5de2fad8606bee38f724594dc:
Merge tag 'for-6.4-rc4-tag' of
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux (2023-05-30 17:23:50
-0400)
are available in the Git re
If fsck.gfs2 is run against an LVM PV it will try its best to repair it
as a gfs2 fs. This is unlikely the best course of action as it's more
likely that the user executed fsck.gfs2 against the PV after stopping
the cluster (including the LVM activation resources).
In this situation other fscks tr
24 matches
Mail list logo