mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
Hello Linus.
A 6.14-rc7 commit (665575cf
) broke orangefs for 6.14. I have a patch, and it has been in linux-next for several days, but if I wait until the merge window to ask for it to be pulled, orangefs will be broken in 6.15 too. I hope you can pull this patch during 6.15-rc7. Thanks... Mike Marshall -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEWLOQAZkv9m2xtUCf/Vh1C1u0YnAFAmgsoBYACgkQ/Vh1C1u0 YnCFCA//cAe+YVGhzo90X2qGbgxYl4AnoR8q8d9IhhJulGmJivvF0wFsccKf5S9g jSHqQD315fJ1io9cS3fwUFH5xGYYaBT7CK+x5mzP24aN8cGdHut1boEiW+aaGpwi VIarX2pSPtgQ/KSrfv+Y7KpbkBER4sX3mHXa2XFw/PGseJnniaH8HTO5dIjkl4JL rt8Xtba3zsb6R8/HbfFGX/QA14b9ZfdSpZAY8+OEl9cPghhZjKUhDuw8dJnH4M0x ilEWGd0wl6q9ghhNXtrNYRHVaDiO300P4lSphbRDA++zH1bCigzWIlZNnE3lPvXb lm5Y+HnpE/bgQAI1l5+wjKSoBt4zRY2T6cUtf7mANbsvNKoc9D8dEIE3hSbBpb2A zroEbqKt+OPhrZDt7YE6jM/66RpcX7ng81oFEVkfmEPeRXNRgYD39RtrIknZ7Kgr CqsF5xtdFzmxmYeOyB89wEFkewUn1vsh86t4wwk74cbJnSwgZF7KQ+TUD8Gdh21X h6746x1ycP3dT8RPdRgVNAfbV3IeIufKqIZWfItu9PG4g+G2LRhbxAI8ralqO/4p zj9TRNPCcCCczPzrG/8z2u9d70jkechsQ5V0oipN9TsG55elADjaVcEPXfCvvrAs p+MwM5wJZywLgUqUEwyIU7bXRdwf8sq1kUAiFcUhvuHTL0SuTCo= =BM1w -----END PGP SIGNATURE----- Merge tag 'for-linus-6.15-ofs2' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux Pull orangefs fix from Mike Marshall: "Fix for orangefs page writeout counting" * tag 'for-linus-6.15-ofs2' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux: orangefs: adjust counting code to recover from665575cf
This commit is contained in:
commit
b36ddb9210
1 changed files with 5 additions and 4 deletions
|
@ -32,12 +32,13 @@ static int orangefs_writepage_locked(struct folio *folio,
|
|||
len = i_size_read(inode);
|
||||
if (folio->private) {
|
||||
wr = folio->private;
|
||||
WARN_ON(wr->pos >= len);
|
||||
off = wr->pos;
|
||||
if (off + wr->len > len)
|
||||
if ((off + wr->len > len) && (off <= len))
|
||||
wlen = len - off;
|
||||
else
|
||||
wlen = wr->len;
|
||||
if (wlen == 0)
|
||||
wlen = wr->len;
|
||||
} else {
|
||||
WARN_ON(1);
|
||||
off = folio_pos(folio);
|
||||
|
@ -46,8 +47,6 @@ static int orangefs_writepage_locked(struct folio *folio,
|
|||
if (wlen > len - off)
|
||||
wlen = len - off;
|
||||
}
|
||||
/* Should've been handled in orangefs_invalidate_folio. */
|
||||
WARN_ON(off == len || off + wlen > len);
|
||||
|
||||
WARN_ON(wlen == 0);
|
||||
bvec_set_folio(&bv, folio, wlen, offset_in_folio(folio, off));
|
||||
|
@ -320,6 +319,8 @@ static int orangefs_write_begin(struct file *file,
|
|||
wr->len += len;
|
||||
goto okay;
|
||||
} else {
|
||||
wr->pos = pos;
|
||||
wr->len = len;
|
||||
ret = orangefs_launder_folio(folio);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Reference in a new issue