another writer couldn't have acquired it since you already had the read lock, so after the upgrade, there is no need to check for existence
what you can do is this
if it doesn't exist
if it doesn't exist, create it
so you only enter the writel, when you have a hint that the lock might not exist
as long as you don't care if the lock was created and destroyed between readul and writel, it should be ok
after a while I guess all the locks will be live right?
or some subset that is used will be live