Error: Could Not Complete Giveback Because of Non-CA Locks on Volume
I came across this error (Could Not Complete Giveback Because of Non-Ca Locks on Volume) during a failover and give back on a HA pair. Performing the manual failover was fine and all aggregates failed over correctly, however on the failback the root volumes were successful but some SFO aggregates contained an error.
First up I saw the basic error during a giveback using the command:
::> storage failover show
I then went to look into the logs by typing:
::> log show (the newest logs are always at the top of the list)
These are the exact messages from the log:
5/28/2015 21:47:21 NODE1 ERROR sfo.giveback.failed: Giveback of aggregate aggr1 failed due to Giveback was vetoed..
5/28/2015 21:47:21 NODE1 ERROR sfo.sendhome.subsystemAbort: The giveback operation of ‘aggr1’ was aborted by ‘lock_manager’.
5/28/2015 21:47:21 NODE1 ERROR lmgr.gb.nonCA.locks.exist: Could not complete giveback because of non-CA locks on volume [email protected]:2345673-5898-11e3-83fb-123478563412.
The volume named volume1 appeared to have a locked cifs session and was preventing the aggregate to failback.
Non-CA Locks on Volume Fix
There are 3 options to fix this:
- Wait and then try to perform the give back again
- Disable cifs on the vserver to remove the lock
- Use the option -override-vetoes true. Take not that using this option might drop the cifs sessions momentarily until the aggregate has failed back. The full command would be:
::> failover giveback -ofnode node1 -orverride-vetoes true
Monitor the giveback with the command:
::> storage failover giveback
Once the failback is successful, lastly check that the cluster ring is all in sync:
::> set diag
::*> cluster ring show