Enforcing uniform file-locking for diverse file-locking protocols
First Claim
1. A method of operating a file server, said method including steps for enforcing a uniform file-locking semantics among a set of client devices using a plurality of diverse file-locking protocols, said file server implementing said plurality of diverse file-locking protocols and enforcing said uniform file-locking semantics for said plurality of diverse file locking protocols;
- wherein said uniform file-locking semantics includes steps for granting an opportunistic lock on a selected file to a first said client device in response to a first message using a first protocol; and
breaking said opportunistic lock in response to a second message using a second protocol;
wherein the first protocol and the second protocol are ones of said plurality of diverse file locking protocols.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a method and system for correct interoperation of multiple diverse file server or file locking protocols, using a uniform multi-protocol lock management system. A file server determines, before allowing any client device to access data or to obtain a lock, whether that would be inconsistent with existing locks, regardless of originating client device or originating protocol for those existing locks. A first protocol enforces mandatory file-open and file-locking together with an opportunistic file-locking technique, while a second protocol lacks file-open semantics and provides only for advisory byte-range and file locking. Enforcing file-locking protects file data against corruption by NFS client devices. A CIFS client device, upon opening a file, can obtain an “oplock” (an opportunistic lock). When a client device issues a non-CIFS protocol request for the oplocked file, the file server sends an oplock-break message to the CIFS client device, giving the CIFS client device the opportunity to flush any cached write operations and possibly close the file. Allowing NFS and NLM requests to break oplocks ensures that file data remains available to NFS client devices simultaneously with protecting integrity of that file data. A CIFS client device can obtain a “change-monitoring” lock for a directory in the file system, so as to be notified by the file server whenever there is a change to that directory. The file server notes changes to the directory by both CIFS and non-CIFS client devices, and notifies those CIFS client devices with “change-monitoring” locks of those changes.
184 Citations
114 Claims
-
1. A method of operating a file server, said method including steps for enforcing a uniform file-locking semantics among a set of client devices using a plurality of diverse file-locking protocols, said file server implementing said plurality of diverse file-locking protocols and enforcing said uniform file-locking semantics for said plurality of diverse file locking protocols;
-
wherein said uniform file-locking semantics includes steps for granting an opportunistic lock on a selected file to a first said client device in response to a first message using a first protocol; and
breaking said opportunistic lock in response to a second message using a second protocol;
wherein the first protocol and the second protocol are ones of said plurality of diverse file locking protocols. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 102)
breaking of said opportunistic lock being triggered by said second client device using said second protocol different from said first protocol.
-
-
3. A method as in claim 2, wherein said first protocol includes CIFS.
-
4. A method as in claim 2, wherein said second protocol includes NFS or NLM.
-
5. A method as in claim 1, wherein said steps for breaking include steps for
sending an oplock-break message to said first client device in response to said second message; -
delaying execution of a file system request indicated by said second message;
receiving a response to said oplock-break message from said first client device; and
processing and responding to said second message after said step of receiving.
-
-
6. A method as in claim 1, wherein said uniform file-locking semantics includes a change-monitoring lock type capable of being requested by said first client device using said first protocol;
- and
a change notification being triggered by said second client device using said second protocol different from said first protocol.
- and
-
7. A method as in claim 6, wherein said first protocol includes CIFS.
-
8. A method as in claim 6, wherein said second protocol includes NFS.
-
9. A method as in claim 1, wherein said uniform file-locking semantics includes steps for
granting a change-monitoring lock on a selected directory to said first client device in response to said first message using said first protocol; - and
sending a change-notify message to said first client device in response to said second message regarding said selected directory using said second protocol.
- and
-
10. A method as in claim 1, wherein said steps for enforcing include steps for
recognizing said plurality of diverse file locking protocols; -
providing said uniform file-locking semantics in response to messages using at least one of said diverse file-locking protocols; and
enforcing said uniform file-locking semantics for all said client devices.
-
-
11. A method as in claim 10, wherein said uniform file-locking semantics includes steps for
granting said opportunistic lock to a said first said client device in response to said first message using said first protocol; - and
breaking said opportunistic lock in response to said second message using said second protocol.
- and
-
12. A method as in claim 11, wherein said steps for breaking include steps for
sending an oplock-break message to said first client device in response to said second message; -
delaying execution of a file system request indicated by said second message;
receiving a response to said oplock-break message from said first client device; and
processing and responding to said second message after said step of receiving.
-
-
13. A method as in claim 10, wherein said steps for enforcing said uniform file-locking semantics include steps for
granting a change-monitoring lock in response to said first message from said first client device using said first protocol; - and
sending a change-notify message to said first client device in response to said second message using said second protocol.
- and
-
14. A method as in claim 10, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message that attempts to violate said uniform file-locking semantics; - and
responding to said selected message with an error response suited to a protocol associated with said selected message.
- and
-
15. A method as in claim 10, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for obtaining a byte-range lock on a file in a selected one of said diverse file locking protocols, said byte-range lock having a lock type; - and
testing whether obtaining said byte-range lock would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
16. A method as in claim 10, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for opening a file in a selected one of said diverse file-locking protocols, said selected message including a requested access-mode; - and
testing whether opening said file using said requested access-mode would conflict with existing locks created by messages using the same or other diverse file-locking protocols.
- and
-
17. A method as in claim 16,
wherein said selected message includes a requested deny-mode; - and
including steps for testing whether opening said file using said requested deny-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
18. A method as in claim 10, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for reading from or writing to a file in a selected one of said diverse file locking protocols; - and
testing whether reading from or writing to would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
19. A method as in claim 1, wherein said steps for enforcing include steps for
receiving said first message using said first protocol, said first message being operative to lock at least a portion of a selected file; -
receiving said second message using said second protocol, said second message being operative to request access to said portion;
comparing said access requested by said second message with said lock, and denying said access if prohibited by said lock.
-
-
20. A method as in claim 19, wherein said first protocol includes CIFS.
-
21. A method as in claim 19, wherein said first protocol or said second protocol includes NLM.
-
22. A method as in claim 19, wherein said second protocol includes NFS.
-
23. A method as in claim 19, wherein
said steps for receiving said second message include steps for recognizing said second message as being for obtaining a byte-range lock on a file using said second protocol, said byte-range lock having a lock type; - and
said steps for comparing include steps for testing whether obtaining said byte-range lock having said lock type would conflict with existing locks created by messages using the same or other diverse file-locking protocols.
- and
-
24. A method as in claim 23, wherein said steps for testing are responsive to one of said diverse file locking protocols used for said second message.
-
25. A method as in claim 23, wherein said steps for testing operate at file-open time for said first protocol and at an access time for said second protocol.
-
26. A method as in claim 23, wherein said steps for testing operate at file-open time for said first protocol and at a lock-request time for said second protocol.
-
27. A method as in claim 19, wherein
said steps for receiving said second message include steps for recognizing said second message for opening a file using said second protocol, said second message including a requested access-mode; - and
said steps for comparing include steps for testing whether accessing said file using said requested access-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
28. A method as in claim 19, wherein
said steps for receiving said second message include steps for recognizing said second message for reading from or writing to a file using said second protocol; - and
said steps for comparing include steps for testing whether accessing said file as attempted by said second message would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
29. A method as in claim 19, wherein
said steps for receiving said first message include steps for granting said opportunistic lock in response to said first message; - and
said steps for comparing include steps for breaking said opportunistic lock in response to said second message.
- and
-
30. A method as in claim 29, wherein said steps for breaking include steps for
sending an oplock-break message to said first client device in response to said second message; -
delaying execution of a file system request indicated by said second message;
receiving a response to said oplock-break message from said first client device; and
processing and responding to said second message after said step of receiving.
-
-
31. A method as in claim 30, wherein said response to said oplock-break message includes an oplock-break acknowledgement message or a file close message.
-
32. A method as in claim 1, wherein said file-locking semantics includes a lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol.
-
33. A method as in claim 1, wherein said file-locking semantics includes
a first lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol; - and
a second lock mode determined in response to a message from a second client device using said second protocol different from said first protocol;
wherein said file server is responsive to comparison of said first lock mode with said second lock mode.
- and
-
34. A method as in claim 33, wherein said comparison includes a lock compatibility matrix.
-
35. A method as in claim 33, wherein said comparison includes a lock conversion matrix.
-
36. A method as in claim 33, wherein said second lock mode is responsive to a request for a byte-range lock.
-
37. A method as in claim 33, wherein said second lock mode is responsive to a request for a NLM file lock.
-
102. A memory as in claim 99, a method as in claim 24, wherein said steps for testing operate at file-open time for said first protocol and at a lock-request time for said second protocol.
-
38. A file server comprising a processor, mass storage, and an interface to a network, the file server operating under control of the processor to perform steps including steps for enforcing a uniform file-locking semantics among a set of client devices using a plurality of diverse file locking protocols, said file server implementing said plurality of diverse file locking protocols and enforcing said uniform file-locking semantics for said plurality of diverse file locking protocols;
-
wherein said uniform file-locking semantics includes steps for granting an opportunistic lock on a selected file to a first client device in response to a first message using a first protocol; and
breaking said opportunistic lock in response to a second message using a second protocol;
wherein the first protocol and the second protocol are ones of said plurality of diverse file locking protocols. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75)
breaking of said opportunistic lock being triggered by a second client device using said second protocol different from said first protocol.
-
-
40. A file server as in claim 39, wherein said first protocol includes CIFS.
-
41. A file server as in claim 39, wherein said second protocol includes NFS or NLM.
-
42. A file server as in claim 38, wherein said uniform file-locking semantics includes steps for
granting an opportunistic lock on a selected file to a first said client device in response to a first message using a first said protocol; - and
breaking said opportunistic lock in response to a second message using a second said protocol.
- and
-
43. A file server as in claim 38, wherein said steps for breaking include steps for
sending an oplock-break message to said first client device in response to said second message; -
delaying execution of a file system request indicated by said second message;
receiving a response to said oplock-break message from said first client device; and
processing and responding to said second message after said step of receiving.
-
-
44. A file server as in claim 38, wherein said uniform file-locking semantics includes a change-monitoring lock type capable of being requested by said first client device using said first protocol;
- and
a change notification being triggered by a second client device using said second protocol different from said first protocol.
- and
-
45. A file server as in claim 44, wherein said first protocol includes CIFS.
-
46. A file server as in claim 44, wherein said second protocol includes NFS.
-
47. A file server as in claim 38, wherein said uniform file-locking semantics includes steps for
granting a change-monitoring lock on a selected directory to said first client device in response to said first message using said first protocol; - and
sending a change-notify message to said first client device in response to said second message regarding said selected directory using said second protocol.
- and
-
48. A file server as in claim 38, wherein said steps for enforcing include steps for
recognizing said plurality of diverse file locking protocols; -
providing said uniform file-locking semantics in response to messages using at least one of said diverse file locking protocols; and
enforcing said uniform file-locking semantics for all said client devices.
-
-
49. A file server as in claim 48, wherein said uniform file-locking semantics includes steps for
granting said opportunistic lock to said first said client device in response to said first message using said first protocol; - and
breaking said opportunistic lock in response to said second message using said second protocol.
- and
-
50. A file server as in claim 49, wherein said steps for breaking include steps for sending an oplock-break message to said first client device in response to said second message;
-
delaying execution of a file system request indicated by said second message;
receiving a response to said oplock-break message from said first client device; and
processing and responding to said second message after said step of receiving.
-
-
51. A file server as in claim 48, wherein said steps for enforcing said uniform file-locking semantics include steps for
granting a change-monitoring lock in response to said first message from said first client device using said first protocol; - and
sending a change-notify message to said first client device in response to said second message using said second protocol.
- and
-
52. A file server as in claim 48, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message that attempts to violate said uniform file-locking semantics; - and
responding to said selected message with an error response suited to a protocol associated with said selected message.
- and
-
53. A file server as in claim 48, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for obtaining a byte-range lock on a file in a selected one of said diverse file locking protocols, said byte-range lock having a lock type; - and
testing whether obtaining said byte-range lock would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
54. A file server as in claim 48, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for opening a file in a selected one of said diverse file locking protocols, said selected message including a requested access-mode; - and
testing whether opening said file using said requested access-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
55. A file server as in claim 54,
wherein said selected message includes a requested deny-mode; - and
including steps for testing whether opening said file using said requested deny-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
56. A file server as in claim 48, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for reading from or writing to a file in a selected one of said diverse file locking protocols; - and
testing whether reading from or writing to would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
57. A file server as in claim 38, wherein said steps for enforcing include steps for
receiving said first message using said first protocol, said first message being operative to lock at least a portion of a selected file; -
receiving said second message using said second protocol, said second message being operative to request access to said portion;
comparing said access requested by said second message with said lock, and denying said access if prohibited by said lock.
-
-
58. A file server as in claim 57, wherein said first protocol includes CIFS.
-
59. A file server as in claim 57, wherein said first protocol or said second protocol includes NLM.
-
60. A file server as in claim 57, wherein said second protocol includes NFS.
-
61. A file server as in claim 57, wherein
said steps for receiving said second message include steps for recognizing said second message as being for obtaining a byte-range lock on a file using said second protocol, said byte-range lock having a lock type; - and
said steps for comparing include steps for testing whether obtaining said byte-range lock having said lock type would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
62. A file server as in claim 61, wherein said steps for testing are responsive to one of said diverse file locking protocols used for said second message .
-
63. A file server as in claim 61, wherein said steps for testing operate at file-open time for said first protocol and at an access time for said second protocol.
-
64. A file server as in claim 61, wherein said steps for testing operate at file-open time for said first protocol and at a lock-request time for said second protocol.
-
65. A file server as in claim 57, wherein
said steps for receiving said second message include steps for recognizing said second message for opening a file using said second protocol, said second message including a requested access-mode; - and
said steps for camparing include steps for testing whether accessing said file using said requested access-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
66. A file server as in claim 57, wherein
said steps for receiving said second message include steps for recognizing said second message for reading from or writing to a file using said second protocol; - and
said steps for comparing include steps for testing whether accessing said file as attempted by said second message would conflict with existing locks vreated by messages using the same or other diverse file locking protocols.
- and
-
67. A file server as in claim 57, wherein
said steps for receiving said first message include steps for granting said opportunistic lock in response to said first message; - and
said steps for comparing include steps for breaking said opportunistic lock in response to said second message.
- and
-
68. A file server as in claim 67, wherein said steps for breaking include steps for sending an oplock-break message to said first client device in response to said second message;
-
delaying execution of a file system request indicated by said second message;
receiving a response to said oplock-break message from said first client device; and
processing and responding to said second message after said step of receiving.
-
-
69. A file server as in claim 68, wherein said response to said oplock-break message includes an oplock-break acknowledgement message or a file close message.
-
70. A file server as in claim 38, wherein said file-locking semantics includes a lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol.
-
71. A file server as in claim 38, wherein said file-locking semantics includes
a first lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol; - and
a second lock mode determined in response to a message from a second client device using said second protocol different from said first protocol;
wherein said file server is responsive to comparison of said first lock mode with said second lock mode.
- and
-
72. A file server as in claim 71, wherein said comparison includes a lock compatibility matrix.
-
73. A file server as in claim 71, wherein said comparison includes a lock conversion matrix.
-
74. A file server as in claim 71, wherein said second lock mode is responsive to a request for a byte-range lock.
-
75. A file server as in claim 71, wherein said second lock mode is responsive to a request for a NLM file lock.
-
76. A memory storing information including instructions, the instructions executable by a processor to operate a file server, the instructions comprising steps for enforcing file-locking semantics among a set of client devices using a plurality of diverse file locking protocols, said file server implementing said plurality of diverse file locking protocols and enforcing said uniform file-locking semantics for said plurality of diverse file locking protocols;
-
wherein said uniform file-locking semantics includes steps for granting an opportunistic lock on a selected file to a first client device in response to a first message using a first protocol; and
breaking said opportunistic lock in response to a second message using a second protocol;
wherein the first protocol and the second protocol are ones of said plurality of diverse file locking protocols. - View Dependent Claims (77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113)
breaking of said opportunistic lock being triggered by a second client device using said second protocol different from said first protocol.
-
-
78. A memory as in claim 77, wherein said first protocol includes CIFS.
-
79. A memory as in claim 77, wherein said second protocol includes NFS or NLM.
-
80. A memory as in claim 76, wherein said uniform file-locking semantics includes steps for
granting an opportunistic lock on a selected file to a first said client device in response to a first message using a first said protocol; - and
breaking said opportunistic lock in response to a second message using a second said protocol.
- and
-
81. A memory as in claim 76, wherein said steps for breaking include steps for
sending an oplock-break message to said first client device in response to said second message; -
delaying execution of a file system request indicated by said second message;
receiving a response to said oplock-break message from said first client device; and
processing and responding to said second message after said step of receiving.
-
-
82. A memory as in claim 76, wherein said uniform file-locking semantics includes a change-monitoring lock type capable of being requested by a first client device using a first protocol;
- and
a change notification being triggered by a second client device using a second protocol different from said first protocol.
- and
-
83. A memory as in claim 82, wherein said first protocol includes CIFS.
-
84. A memory as in claim 82, wherein said second protocol includes NFS.
-
85. A memory as in claim 76, wherein said uniform file-locking semantics includes steps for
granting a change-monitoring lock on a selected directory to said first client device in response to said first message using said first protocol; - and
sending a change-notify message to said first client device in response to said second message regarding said selected directory using said second protocol.
- and
-
86. A memory as in claim 76, wherein said steps for enforcing include steps for
recognizing said plurality of diverse file locking protocols; -
providing said uniform file-locking semantics in response to messages using at least one of said diverse file locking protocols; and
enforcing said uniform file-locking semantics for all said client devices.
-
-
87. A memory as in claim 86, wherein said uniform file-locking semantics includes steps for
granting said opportunistic lock to said first said client device in response to said first message using said first protocol; - and
breaking said opportunistic lock in response to said second message using said second protocol.
- and
-
88. A memory as in claim 87, wherein said steps for breaking include steps for
sending an oplock-break message to said first client device in response to said second message; -
delaying execution of a file system request indicated by said second message;
receiving a response to said oplock-break message from said first client device; and
processing and responding to said second message after said step of receiving.
-
-
89. A memory as in claim 86, wherein said steps for enforcing said uniform file-locking semantics include steps for
granting a change-monitoring lock in response to said first message from said first client device using said first protocol; - and
sending a change-notify message to said first client device in response to said second message using said second protocol.
- and
-
90. A memory as in claim 86, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message that attempts to violate said uniform file-locking semantics; - and
responding to said selected message with an error response suited to a protocol associated with said selected message.
- and
-
91. A memory as in claim 86, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for obtaining a byte-range lock on a file in a selected one of said diverse file locking protocols, said byte-range lock having a lock type; - and
testing whether obtaining said byte-range lock would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
92. A memory as in claim 86, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for opening a file in a selected one of said diverse file locking protocols, said selected message including a requested access-mode; - and
testing whether opening said file using said requested access-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
93. A memory as in claim 92,
wherein said selected message includes a requested deny-mode; - and
including steps for testing whether opening said file using said requested deny-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
94. A memory as in claim 86, wherein said steps for enforcing said uniform file-locking semantics include steps for
recognizing a selected message for reading from or writing to a file in a selected one of said diverse file locking protocols; - and
testing whether reading from or writing to would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
95. A memory as in claim 76, wherein said steps for enforcing include steps for
receiving said first message using said first protocol, said first message being operative to lock at least a portion of a selected file; -
receiving said second message using said second protocol, said second message being operative to request access to said portion;
comparing said access requested by said second message with said lock, and denying said access if prohibited by said lock.
-
-
96. A memory as in claim 95, wherein said first protocol includes CIFS.
-
97. A memory as in claim 95, wherein said first protocol or said second protocol includes NLM.
-
98. A memory as in claim 95, wherein said second protocol includes NFS.
-
99. A memory as in claim 95, wherein
said steps for receiving said second message include steps for recognizing said second message as being for obtaining a byte-range lock on a file using said second protocol, said byte-range lock having a lock type; - and
said steps for comparing include steps for testing whether obtaining said byte-range lock having said lock type would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
100. A memory as in claim 99, wherein said steps for testing are responsive to one of said diverse file locking protocols used for said second message.
-
101. A memory as in claim 99, wherein said steps for testing operate at file-open time for said first protocol and at an access time for said second protocol.
-
103. A memory as in claim 95, wherein
said steps for receiving said second message include steps for recognizing said second message for opening a file using said second protocol, said second message including a requested access-mode; - and
said steps for comparing include steps for testing whether accessing said file using said requested access-mode would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
104. A memory as in claim 95, wherein
said steps for receiving said second message include steps for recognizing said second message for reading from or writing to a file using said second protocol; - and
said steps for comparing include steps for testing whether accessing said file as attempted by said second message would conflict with existing locks created by messages using the same or other diverse file locking protocols.
- and
-
105. A memory as in claim 95, wherein
said steps for receiving said first message include steps for granting said opportunistic lock in response to said first message; - and
said steps for comparing include steps for breaking said opportunistic lock in response to said second message.
- and
-
106. A memory as in claim 105, wherein said steps for breaking include steps for sending an oplock-break message to said first client device in response to said second message;
-
delaying execution of a file system request indicated by said second message;
receiving a response to said oplock-break message from said first client device; and
processing and responding to said second message after said step of receiving.
-
-
107. A memory as in claim 106, wherein said response to said oplock-break message includes an oplock-break acknowledgement message or a file close message.
-
108. A memory as in claim 76, wherein said file-locking semantics includes a lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol.
-
109. A memory as in claim 76, wherein said file-locking semantics includes
a first lock mode determined in response to an access-mode and a deny-mode requested by said first client device using said first protocol; - and
a second lock mode determined in response to a message from a second client device using said second protocol different from said first protocol;
wherein said file server is responsive to comparison of said first lock mode with said second lock mode.
- and
-
110. A memory as in claim 109, wherein said comparison includes a lock compatibility matrix.
-
111. A memory as in claim 109, wherein said comparison includes a lock conversion matrix.
-
112. A memory as in claim 109, wherein said second lock mode is responsive to a request for a byte-range lock.
-
113. A memory as in claim 109, wherein said second lock mode is responsive to a request for a NLM file lock.
-
114. A file server comprising processing means, mass storage means for storing files, and interface means for interfacing to a network, the processing means for enforcing a uniform file-locking semantics among a set of client devices using a plurality of diverse file locking protocols and enforcing said uniform file-locking semantics for said plurality of diverse file locking protocols;
-
wherein said uniform file-locking semantics includes steps for granting am opportunistic lock on a selected file to a first client device in response to a first message using a first protocol; and
breaking said opportunistic lock in response to a second message using a second protocol;
wherein the first protocol and the second protocol are ones of said plurality of diverse file locking protocols.
-
Specification