for-6.15-rc4-tag
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE8rQSAMVO+zA4DBdWxWXV+ddtWDsFAmgSLb8ACgkQxWXV+ddt WDsHZA//cqlq2zGs5dqRYhPFz5wwKqJcRKcJe2ag4x/Du18SJ5ZXMazlYcVfTZ18 7Wo2Bmk5cVUb83u/vbyA01FaqD8pYvEU/fLn6NY4YQfs9AIc/Ek/DexWmjoCe1aF fxWoPPACl11jm6crUC5U/KtudZhDS4ALtCE+6GrbWamvnbG+BZjxzACzISU4jvHS BVdXgf9Ogx6hk++b2rhMOsp2C807vnPwFJLwV8CAQQiSzRAlDUMM75P6fduN69if nR/jxURojEX+x14k4kPO33vVA5ffblB6t15Ws/OtlFEtnU90kJShxTwHvDOgs0B/ d8Iu+9Rt0+vPbMb+GLQZBMCT24n0/67PCEJ0Y7R9y5/4Q65y2paWXihTDQBhJ/YO GhbajDcRLrZ+WWO3kjrmePyGkz6AxmiAnnE75VcNpYRtO6CT89UhCvxGWCGqBdlr 2G7FY/snCOP1UdL0YyU46OZ7fCMjRpRxSJuDi1jxyrdW2PuOjlQX68LlNbFeERab QU1QYNlwuck0GrsnVWKaS7lD7wKLPD53kXFUVZfLfTD7qzTzX3nHBxbM/P2dOBeO 0rx1JQdgBTPg60DHwnFRwYRgKGohwpW57/JAadqxy70RkHPquJayqWbkIeIm/4Sp Kt4yHBGiN2EIHGMxyEAqia7Zrc8GkedC1S6DU7FOn/VWbQyiARM= =HHoC -----END PGP SIGNATURE----- Merge tag 'for-6.15-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux Pull btrfs fixes from David Sterba: - fix potential inode leak in iget() after memory allocation failure - in subpage mode, fix extent buffer bitmap iteration when writing out dirty sectors - fix range calculation when falling back to COW for a NOCOW file * tag 'for-6.15-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: btrfs: adjust subpage bit start based on sectorsize btrfs: fix the inode leak in btrfs_iget() btrfs: fix COW handling in run_delalloc_nocow()
This commit is contained in:
commit
7a13c14ee5
|
|
@ -2047,7 +2047,7 @@ static int submit_eb_subpage(struct folio *folio, struct writeback_control *wbc)
|
|||
subpage->bitmaps)) {
|
||||
spin_unlock_irqrestore(&subpage->lock, flags);
|
||||
spin_unlock(&folio->mapping->i_private_lock);
|
||||
bit_start++;
|
||||
bit_start += sectors_per_node;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2129,12 +2129,13 @@ next_slot:
|
|||
|
||||
/*
|
||||
* If the found extent starts after requested offset, then
|
||||
* adjust extent_end to be right before this extent begins
|
||||
* adjust cur_offset to be right before this extent begins.
|
||||
*/
|
||||
if (found_key.offset > cur_offset) {
|
||||
extent_end = found_key.offset;
|
||||
extent_type = 0;
|
||||
goto must_cow;
|
||||
if (cow_start == (u64)-1)
|
||||
cow_start = cur_offset;
|
||||
cur_offset = found_key.offset;
|
||||
goto next_slot;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -5681,8 +5682,10 @@ struct btrfs_inode *btrfs_iget(u64 ino, struct btrfs_root *root)
|
|||
return inode;
|
||||
|
||||
path = btrfs_alloc_path();
|
||||
if (!path)
|
||||
if (!path) {
|
||||
iget_failed(&inode->vfs_inode);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
ret = btrfs_read_locked_inode(inode, path);
|
||||
btrfs_free_path(path);
|
||||
|
|
|
|||
Loading…
Reference in New Issue