Re: reservation errors during fstests on pNFS block

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jun 15, 2024 at 06:09:20PM +0000, Chuck Lever III wrote:
> 
> nfs4_find_get_deviceid() tries to be clever and do a lookup without
> the spin lock first.
> 
> If it can't find a matching deviceid, it creates a new device_info
> (which calls bl_alloc_deviceid_node, and that registers the device's
> PR key).
> 
> Then it takes the nfs4_deviceid_lock and looks up the deviceid again.
> If it finds it this time, bl_find_get_deviceid() frees the spare
> (new) device_info, which unregisters the PR key for the same device.
> 
> Any subsequent I/O from this client on that device gets EBADE.
> 
> The umount later unregisters the device's PR key again.
> 
> Seems like PR key registration should be done from a more
> idempotent context...?

Yes.  Or at least not do this optimistic reservation.




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux