Page MenuHomeFreeBSD

Two fixes for pgcache read.
ClosedPublic

Authored by kib on Nov 25 2020, 6:40 PM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 5 2024, 12:48 AM
Unknown Object (File)
Dec 23 2023, 2:37 AM
Unknown Object (File)
Oct 22 2023, 3:16 PM
Unknown Object (File)
Aug 27 2023, 2:37 PM
Unknown Object (File)
Aug 18 2023, 9:19 PM
Unknown Object (File)
Aug 13 2023, 6:33 AM
Unknown Object (File)
Jul 7 2023, 1:39 PM
Unknown Object (File)
May 30 2023, 1:05 AM
Subscribers

Details

Reviewers
markj
mjg
Summary
  1. vn_read_from_obj(): there is no reason why vp->v_object cannot be NULL. If it is, it's fine, handle it by delegating to VOP_READ().
  2. nullfs: provide custom bypass for VOP_READ_PGCACHE(). Normal bypass expects locked vnode. Ensure liveness of the lower vnode by taking the upper vnode interlock, which is also taked by null_reclaim() when setting v_data to NULL.

Reported and tested by: pho

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 35044

Event Timeline

kib requested review of this revision.Nov 25 2020, 6:40 PM
mjg added inline comments.
sys/kern/vfs_vnops.c
874–876

probably would be best to atomic_load_ptr all cases like this

This revision is now accepted and ready to land.Nov 25 2020, 9:06 PM
kib marked an inline comment as done.

Use atomic_load_ptr().

This revision now requires review to proceed.Nov 25 2020, 9:56 PM
This revision is now accepted and ready to land.Nov 25 2020, 9:59 PM