IP Library Granted Patent US 12711256
Granted Patent B2
US 12711256 · App. 18/411,129 · Granted Aug 18, 2026

Apparatus and methods for modifying a union file system using supercopy control

Inventors: Neil Alan Johnson (Cornwall, NY); Brad Stilwell (Poughkeepsie, NY); Marie R Buzzetti (Pleasant Valley, NY); Kershaw S. Mehta (Poughkeepsie, NY); Daniel Acevedo (Milton, NY)
Assignee: International Business Machines Corporation
G06F21/6209G06F16/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12711256
App. No.
18/411,129
Granted
Aug 18, 2026
Kind
B2
Abstract

Methods, apparatus and products for modifying a union file system are described herein. In some aspects, a method and apparatus include a processing device and memory, wherein the memory stores computer program instructions that, when executed, cause the processing device to receive a user request to modify a file in a union file system and in response to a user having permission to read the file, copy up the file from a lower layer read-only file system of the union file system to an upper layer file system that is writeable, to produce a copied-up file. The copied-up file is modified in the upper layer file system based on a new file in the request. The new file in some implementations is a file to replace a file in the UFS or a file that is added to a directory in the UFS.

Claims (56)

1 . A method comprising:

receiving a user request, of a user, to modify a file in a union file system, wherein the user request includes a new file;

determining, based on receiving the user request, whether the user has permission to read the file in a lower layer file system of the union file system without determining whether the user has permission to write the file in the union file system;

denying the user request to modify the file when the user does not have permission to read the file in the lower layer file system without determining whether the user has permission to write the file in the union file system, wherein determining that the user does not have permission to read the file in the lower layer file system prevents the file from being copied from the lower layer file system of the union file system to an upper layer file system of the union file system;

copying up the file from the lower layer file system of the union file system to the upper layer file system of the union file system to produce a copied-up file when the user has permission to read the file in the lower layer file system;

modifying metadata associated with the copied-up file to indicate that the user is an owner of the copied-up file in order to grant, the user, permission to modify the copied-up file in the upper layer file system;

causing a container, associated with the union file system, to be managed in accordance with the user being granted the permission to modify the copied-up file in the upper layer file system; and

modifying the copied-up file in the upper layer file system based on the new file included in the user request.

2 . The method of claim 1 wherein copying up the file from the lower layer file system to the upper layer file system comprises performing a copy-on-write operation in the union file system that copies the file from the lower layer file system to the upper layer file system based on the user having permission to read the file and modifying the copied-up file by writing the new file to replace the copied-up file.

3 . The method of claim 1 comprising setting a supercopy mode for the union file system that modifies the file in the union file system through a copy-on-write operation, in response to verifying that the user has permission to read the file.

4 . The method of claim 1 , further comprising:

writing file contents from the new file identified in the user request to replace the copied-up file in the upper file system; and

modifying the metadata associated with the copied-up file to reflect user permission to allow subsequent user modification of the new file in the upper layer file system.

5 . The method of claim 4 wherein modifying the metadata associated with the copied-up file in a physical file system to reflect user permission to allow subsequent user modification of the new file in the upper layer file system.

6 . The method of claim 1 wherein the user request includes a path name including a directory in the lower layer file system of the union file system and the new file to be created in the directory, and wherein the method includes, in response to the user having permission to read the directory, copying up the directory in the lower layer file system to the upper layer file system, and wherein modifying the copied-up directory comprises writing the new file in the copied-up directory in the upper file system.

7 . An apparatus comprising:

a processing device; and

memory operatively coupled to the processing device, wherein the memory stores computer program instructions that, when executed, cause the processing device to:

receive a user request, of a user, to modify a file in a union file system, wherein the user request includes a new file;

determine, based on receiving the user request, whether the user has permission to read the file in a lower layer file system of the union file system without determining whether the user has permission to write the file in the union file system;

based on determining that the user has permission to read the file in the lower layer file system, copy up the file from the lower layer file system of the union file system to an upper layer file system of the union file system to produce a copied-up file without determining whether the user has permission to write the file in the union file system,

wherein the file is prevented from being copied from the lower layer file system to the upper layer file system when the user does not have permission to read the file in the lower layer file system;

modify metadata associated with the copied-up file to indicate that the user is an owner of the copied-up file;

cause a container, associated with the union file system, to be managed in accordance with the user being granted permission to modify the copied-up file in the upper layer file system; and

modify the copied-up file in the upper layer file system based on the new file included in the user request.

8 . The apparatus of claim 7 wherein the memory stores computer program instructions that, when executed, cause the processing device to: copy up the file from the lower layer file system to the upper layer file system by performing a copy-on-write operation in the union file system that copies the file from the lower layer file system to the upper layer file system based on the user having permission to read the file and modifies the copied-up file by writing the new file to replace the copied-up file.

9 . The apparatus of claim 7 wherein the memory stores computer program instructions that, when executed, cause the processing device to: set a supercopy mode for the union file system that modifies the file in the union file system through a copy-on-write operation, in response to verifying that the user has permission to read the file.

10 . The apparatus of claim 7 wherein the memory stores computer program instructions that, when executed, cause the processing device to: write the new file to replace the copied-up file in the upper layer file system by writing file contents from the new file identified in the user request and modify the metadata associated with the copied-up file to reflect user permission to allow subsequent user modification of the new file in the upper layer file system.

11 . The apparatus of claim 7 wherein the memory stores computer program instructions that, when executed, cause the processing device to:

modify the metadata associated with the copied-up file in a physical file system to reflect user permission to allow subsequent user modification of the new file in the upper layer file system.

12 . The apparatus of claim 7 wherein the user request includes a path name including a directory in the lower layer file system of the union file system and the new file to be created in the directory, and wherein the memory stores computer program instructions that, when executed, cause the processing device to: in response to the user having permission to read the file, copy up the directory in the lower layer file system to the upper layer file system, and modify the copied-up directory by writing the new file in the copied-up directory in the upper file system.

13 . A computer program product comprising a computer readable storage medium, wherein the computer readable storage medium comprises computer program instructions that, when executed:

receive a user request, of a user, to modify a file in a union file system, wherein the user request includes a new file;

determine, based on receiving the user request, whether the user has permission to read the file in a lower layer file system of the union file system without determining whether the user has permission to write the file in the union file system;

deny the user request to modify the file when the user does not have permission to read the file in the lower layer file system without determining whether the user has permission to write the file in the union file system, wherein determining that the user does not have permission to read the file in the lower layer file system prevents the file from being copied from the lower layer file system of the union file system to an upper layer file system of the union file system;

copy up the file from the lower layer file system of the union file system to the upper layer file system of the union file system to produce a copied-up file when the user does have permission to read the file in the lower layer file system, without determining whether the user has permission to write the file in the union file system;

modify metadata in the copied-up file to indicate that the user is an owner of the copied-up file in order to grant, the user, permission to modify the copied-up file in the upper layer file system;

cause a container, associated with the union file system, to be managed in accordance with the user being granted the permission to modify the copied-up file in the upper layer file system; and

modify the copied-up file in the upper layer file system based on the new file in the user request.

14 . The computer program product of claim 13 wherein the computer readable storage medium comprises computer program instructions that, when executed:

copy up the file from the lower layer file system to the upper layer file system by performing a copy-on-write operation in the union file system that copies the file from the lower layer file system to the upper layer file system based on the user having permission to read the file; and

modify the copied-up file by writing the new file to replace the copied-up file.

15 . The computer program product of claim 13 wherein the computer readable storage medium comprises computer program instructions that, when executed:

set a supercopy mode for the union file system that modifies the file in the union file system through a copy-on-write operation, in response to verifying that the user has permission to read the file.

16 . The computer program product of claim 13 wherein the computer readable storage medium comprises computer program instructions that, when executed:

write the new file to replace the copied-up file in the upper layer file system by writing file contents from the new file identified in the request; and

modify the metadata associated with the copied-up file to reflect user permission to allow subsequent user modification of the new file in the upper layer file system.

17 . The computer program product of claim 13 wherein the computer readable storage medium comprises computer program instructions that, when executed:

receive the user request that includes a path name including a directory in the lower layer file system of the union file system and the new file to be created in the directory;

in response to the user having permission to read the file, copy up the directory in the lower layer file system to the upper layer file system;

modify the copied-up directory by writing the new file in the copied-up directory in the upper file system; and

modify the metadata associated with the file written to the upper file system to reflect user permission to allow subsequent user modification of the file in the upper layer file system.

18 . The computer program product of claim 13 wherein the computer readable storage medium comprises computer program instructions that, when executed:

write the new file to replace the copied-up file in the upper layer file system.

19 . The computer program product of claim 13 wherein the computer readable storage medium comprises computer program instructions that, when executed:

modify the metadata associated with the copied-up file in a physical file system to reflect user permission to allow subsequent user modification of the new file in the upper layer file system.