Claims Analysis
Total Claims: 33
Claim 1
Independent Claim
144 words
A method of managing a file system for a file server, comprising the steps of: receiving a file operation that signals a reservation operation for a file for which reservation has already been performed, said reservation operation specifying a new file size different from a current file size for the file; comparing the current file size with the new file size; in the case that the current file size exceeds the new file size, releasing any remaining block reservations for the file; and in the case that the new file size exceeds the current file size, reserving for later allocation in the file system an additional number of unallocated blocks equal to a difference between a total number of direct and indirect blocks required by the new file size and a total number of direct and indirect blocks required by the current file size.
Claim 2
Independent Claim
144 words
A method of managing a file system for a file server, comprising the steps of: receiving a file operation that signals a reservation operation for a file for which reservation has already been performed, said reservation operation specifying a new file size different from a current file size for the file; comparing the current file size with the new file size; in the case that the current file size exceeds the new file size, releasing any remaining block reservations for the file; and in the case that the new file size exceeds the current file size, reserving for later allocation in the file system an additional number of unallocated blocks equal to a difference between a total number of direct and indirect blocks required by the new file size and a total number of direct and indirect blocks required by the current file size.
Claim 3
Dependent Claim
18 words
A method as in claim 1 , wherein the file system uses a write anywhere file system layout.
Claim 4
Dependent Claim
22 words
A method as in claim 1 , wherein the file operation that signals the reservation operation is a zero length write request.
Claim 5
Dependent Claim
24 words
A method as in claim 1 , wherein the file operation that signals the reservation operation includes a parameter that specifies the file size.
Claim 6
Dependent Claim
81 words
A method as in claim 1 , wherein the step of releasing remaining block reservations for the file further comprises the steps of: resetting a flag in an inode for the file that indicates blocks have been reserved for the file; and decrementing a reserved block count in a file system information block by a number of blocks still reserved for the file, the reserved block count indicating how many unallocated blocks have been reserved for files in the file system.
Claim 7
Dependent Claim
54 words
A method as in claim 1 , further comprising the step of checking that a number of available blocks in the file system is greater than the additional number of unallocated blocks, wherein an error is returned in a case that the number of available blocks is less than the additional number of blocks.
Claim 8
Dependent Claim
57 words
A method as in claim 6 , wherein the number of available blocks in the file system is determined by subtracting a number of allocated blocks, a number of cached unallocated blocks, and a number of reserved blocks from a total number of blocks in the file system, and adding a number of reserved cached unallocated blocks.
Claim 9
Dependent Claim
53 words
A method as in claim 1 , further comprising the step of checking that the additional number of blocks does not exceed a remainder of a quota for an owner of the file, wherein an error is returned in a case that the additional number of blocks exceeds the remainder of the quota.
Claim 10
Dependent Claim
23 words
A method as in claim 1 , further comprising the step of releasing reservation of blocks as those blocks are written to storage.
Claim 11
Dependent Claim
55 words
A method as in claim 9 , wherein the step of releasing reservation of blocks further comprises the step of decrementing a reserved block count in a file system information block by a number of released blocks, the reserved block count indicating how many blocks total have been reserved for files in the file server.
Claim 12
Dependent Claim
182 words
A file server that manages a file system, comprising: mass storage that stores files for the file system; a processor that executes instructions to manage the file system; and a memory storing information including instructions, the instructions executable by the processor to manage the file system, the instructions comprising: (a) receiving a file operation that signals a reservation operation for a file for which reservation has already been performed, said reservation operation specifying a new file size different from a current file size for the file; (b) comparing the current file size with the new file size; (c) in the case that the current file size exceeds the new file size, releasing any remaining block reservations for the file; and (d) in the case that the new file size exceeds the current file size, reserving for later allocation in the file system an additional number of unallocated blocks equal to a difference between a total number of direct and indirect blocks required by the new file size and a total number of direct and indirect blocks required by the current file size.
Claim 13
Dependent Claim
182 words
A file server that manages a file system, comprising: mass storage that stores files for the file system; a processor that executes instructions to manage the file system; and a memory storing information including instructions, the instructions executable by the processor to manage the file system, the instructions comprising: (a) receiving a file operation that signals a reservation operation for a file for which reservation has already been performed, said reservation operation specifying a new file size different from a current file size for the file; (b) comparing the current file size with the new file size; (c) in the case that the current file size exceeds the new file size, releasing any remaining block reservations for the file; and (d) in the case that the new file size exceeds the current file size, reserving for later allocation in the file system an additional number of unallocated blocks equal to a difference between a total number of direct and indirect blocks required by the new file size and a total number of direct and indirect blocks required by the current file size.
Claim 14
Dependent Claim
19 words
A file server as in claim 11 , wherein the file system uses a write anywhere file system layout.
Claim 15
Dependent Claim
23 words
A file server as in claim 11 , wherein the file operation that signals the reservation operation is a zero length write request.
Claim 16
Dependent Claim
25 words
A file server as in claims 11 , wherein the file operation that signals the reservation operation includes a parameter that specifies the file size.
Claim 17
Dependent Claim
82 words
A file server as in claim 11 , wherein the step of releasing remaining block reservations for the file further comprises the steps of: resetting a flag in an inode for the file that indicates blocks have been reserved for the file; and decrementing a reserved block count in a file system information block by a number of blocks still reserved for the file, the reserved block count indicating how many unallocated blocks have been reserved for files in the file system.
Claim 18
Dependent Claim
59 words
A file server as in claim 11 , wherein the instructions further comprise the step of checking that a number of available blocks in the file system is greater than the additional number of unallocated blocks, and wherein an error is returned in a case that the number of available blocks is less than the additional number of blocks.
Claim 19
Dependent Claim
58 words
A file server as in claim 16 , wherein the number of available blocks in the file system is determined by subtracting a number of allocated blocks, a number of cached unallocated blocks, and a number of reserved blocks from a total number of blocks in the file system, and adding a number of reserved cached unallocated blocks.
Claim 20
Dependent Claim
58 words
A file server as in claim 11 , wherein the instructions further comprise the step of checking that the additional number of blocks does not exceed a remainder of a quota for an owner of the file, and wherein an error is returned in a case that the additional number of blocks exceeds the remainder of the quota.
Claim 21
Dependent Claim
27 words
A file server as in claim 11 , wherein the instructions further comprise the step of releasing reservation of blocks as those blocks are written to storage.
Claim 22
Dependent Claim
56 words
A file server as in claim 19 , wherein the step of releasing reservation of blocks further comprises the step of decrementing a reserved block count in a file system information block by a number of released blocks, the reserved block count indicating how many blocks total have been reserved for files in the file server.
Claim 23
Dependent Claim
152 words
A memory storing information including instructions, the instructions executable by a processor to manage a file system, the instructions comprising the steps of: receiving a file operation that signals a reservation operation for a file for which reservation has already been performed, said reservation operation specifying a new file size different from a current file size for the file; comparing the current file size with the new file size; in the case that the current file size exceeds the new file size, releasing any remaining block reservations for the file; and in the case that the new file size exceeds the current file size, reserving for later allocation in the file system an additional number of unallocated blocks equal to a difference between a total number of direct and indirect blocks required by the new file size and a total number of direct and indirect blocks required by the current file size.
Claim 24
Dependent Claim
152 words
A memory storing information including instructions, the instructions executable by a processor to manage a file system, the instructions comprising the steps of: receiving a file operation that signals a reservation operation for a file for which reservation has already been performed, said reservation operation specifying a new file size different from a current file size for the file; comparing the current file size with the new file size; in the case that the current file size exceeds the new file size, releasing any remaining block reservations for the file; and in the case that the new file size exceeds the current file size, reserving for later allocation in the file system an additional number of unallocated blocks equal to a difference between a total number of direct and indirect blocks required by the new file size and a total number of direct and indirect blocks required by the current file size.
Claim 25
Dependent Claim
18 words
A memory as in claim 21 , wherein the file system uses a write anywhere file system layout.
Claim 26
Dependent Claim
22 words
A memory as in claim 21 , wherein the file operation that signals the reservation operation is a zero length write request.
Claim 27
Dependent Claim
24 words
A memory as in claim 21 , wherein the file operation that signals the reservation operation includes a parameter that specifies the file size.
Claim 28
Dependent Claim
81 words
A memory as in claim 21 , wherein the step of releasing remaining block reservations for the file further comprises the steps of: resetting a flag in an inode for the file that indicates blocks have been reserved for the file; and decrementing a reserved block count in a file system information block by a number of blocks still reserved for the file, the reserved block count indicating how many unallocated blocks have been reserved for files in the file system.
Claim 29
Dependent Claim
58 words
A memory as in claim 21 , wherein the instructions farther comprise the step of checking that a number of available blocks in the file system is greater than the additional number of unallocated blocks, and wherein an error is returned in a case that the number of available blocks is less than the additional number of blocks.
Claim 30
Dependent Claim
57 words
A memory as in claim 26 , wherein the number of available blocks in the file system is determined by subtracting a number of allocated blocks, a number of cached unallocated blocks, and a number of reserved blocks from a total number of blocks in the file system, and adding a number of reserved cached unallocated blocks.
Claim 31
Dependent Claim
57 words
A memory as in claim 21 , wherein the instructions further comprise the step of checking that the additional number of blocks does not exceed a remainder of a quota for an owner of the file, and wherein an error is returned in a case that the additional number of blocks exceeds the remainder of the quota.
Claim 32
Dependent Claim
26 words
A memory as in claim 21 , wherein the instructions further comprise the step of releasing reservation of blocks as those blocks are written to storage.
Claim 33
Dependent Claim
55 words
A memory as in claim 29 , wherein the step of releasing reservation of blocks further comprises the step of decrementing a reserved block count in a file system information block by a number of released blocks, the reserved block count indicating how many blocks total have been reserved for files in the file server.