bcachefs: Add pagecache_add lock to buffered IO path, fault path
authorKent Overstreet <kent.overstreet@gmail.com>
Fri, 18 Oct 2019 22:24:26 +0000 (18:24 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:31 +0000 (17:08 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/fs-io.c

index 37c81a664430dac1f292830a58efb3aef595d1ee..3475b388d2fa9725a1e8ca9e3311a490af50b137 100644 (file)
@@ -571,13 +571,13 @@ vm_fault_t bch2_page_mkwrite(struct vm_fault *vmf)
        }
 
        bch2_set_page_dirty(c, inode, page, &res, 0, len);
+       bch2_page_reservation_put(c, inode, &res);
+
        wait_for_stable_page(page);
 out:
        bch2_pagecache_add_put(&inode->ei_pagecache_lock);
        sb_end_pagefault(inode->v.i_sb);
 
-       bch2_page_reservation_put(c, inode, &res);
-
        return ret;
 }