US 11,811,674 B2
Lock reservations for shared storage
Christopher Busick, Shrewsbury, MA (US); Stephen Winslow Schmitt, Cambridge, MA (US); and Rajesh Rajaraman, Acton, MA (US)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., Sunnyvale, CA (US)
Filed on Oct. 21, 2019, as Appl. No. 16/658,302.
Claims priority of provisional application 62/748,409, filed on Oct. 20, 2018.
Prior Publication US 2020/0125537 A1, Apr. 23, 2020
Int. Cl. G06F 16/176 (2019.01); G06F 16/182 (2019.01); H04L 47/74 (2022.01); H04L 47/125 (2022.01); H04L 45/00 (2022.01); H04L 47/785 (2022.01); H04L 45/28 (2022.01); H04L 47/10 (2022.01); G06F 11/07 (2006.01); H04L 67/1097 (2022.01); G06F 9/455 (2018.01); G06F 13/42 (2006.01); H04L 41/0668 (2022.01)
CPC H04L 47/746 (2013.01) [G06F 9/45558 (2013.01); G06F 11/0757 (2013.01); G06F 13/4221 (2013.01); G06F 16/1774 (2019.01); G06F 16/1824 (2019.01); H04L 41/0668 (2013.01); H04L 45/28 (2013.01); H04L 45/34 (2013.01); H04L 47/125 (2013.01); H04L 47/29 (2013.01); H04L 47/786 (2013.01); H04L 67/1097 (2013.01); G06F 2009/4557 (2013.01); G06F 2213/0036 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer implemented method executed by a processor to perform operations comprising:
intercepting, by a driver, a SCSI reserve command generated by a first node to reserve a volume of a virtual disk, wherein the volume is stored in an object of an object store of a cloud computing environment, the object store supporting an object store protocol without supporting a SCSI protocol, and the SCSI reserve command formatted according to the SCSI protocol supported by the first node without supporting the object store protocol;
translating, by the driver, the SCSI reserve command to a first lease acquire command formatted according to the object store protocol;
inserting, by the driver, a first lease identifier of the first node in the first lease acquire command;
routing, by the driver, the first lease acquire command to the object store to obtain a lease associated with the first lease identifier to grant the first node exclusive write access to the object and prevent a second node from writing to the object based on the lease being associated with the first lease identifier;
intercepting, by the driver, a SCSI preempt command generated by the second node targeting the virtual disk for a failover operation in response to the first node becoming unavailable, wherein:
the SCSI preempt command is generated to change the SCSI reservation for the virtual disk so that the second node obtains exclusive write access to the virtual disk;
translating, by the driver, the SCSI preempt command into a change command formatted according to the object store protocol;
inserting, by the driver, the first lease identifier of the first node and a second lease identifier of the second node in the change command; and
routing, by the driver, the change command to the object store to change the lease from being associated with the first lease identifier to being associated with the second lease identifier to grant the second node exclusive write access to the object and prevent the first node from writing to the object based upon the lease being associated with the second lease identifier in the change command.