System and method to access the correct File system to preserve data integrity.
Publication Date: 2014-Feb-26
The IP.com Prior Art Database
User applications accessing a file in filesystem are not aware of changes to filesystem happening in the background such as unmounting the filesystem being accessed and mount of new filesystem on the same mount point. If the new filesystem also has file with same name/path being accessed by the application then the application may corrupt the unintended file without its knowledge. This article talks about a unique method using which the data corruption can be avoided without modifying user applications.
Page 01 of 5
System and method to access the correct File system to preserve data integrity .
Problem Description :
Let us consider file system A is mounted on a mount point (say /mnt). User created a file say /mnt/file.txt in file system A as shown in Figure 1a. User application did I/O operations to the file /mnt/file.txt and closed the file. File system A got unmounted by some means. Another file system B is mounted on the same mount point /mnt.
If there is already /mnt/file.txt in File system B as shown in Figure 1b, the user application may corrupt the file on File system B.
User applications can distinguish files based on the path name but cannot distinguish different File systems mounted on the same mount point. Hence it is possible user applications will either corrupt or read wrong data assuming they are accessing the same file from the same location. However, under the covers the File system is unmounted and a new File system is mounted.
Use cases :
Due to some administrative tasks such as backup, restore, resizing the File system requires unmounting the existing File system. It is possible a new File system is mounted on the same path interim. There can be multiple issues hit because of the above situation :
1. File system may contain sensitive data such as databases in which case this can lead either corrupting the database files or creating unwanted files in the database.
2. A secured file on the new File system is read by the application which it is not intended to read. This is a security vulnerability.
3. Use case in Cloud Storage :
In a Cloud environment, I/O applications run on the Cloud Storage, where storage needs are delivered on-demand. Cloud storage can be either block storage or File system storage. In case of File system storage , a File system is the unit of granularity. File systems are exported from the storage container and provisioned on the fly to the clients to meet their growing storage needs. Following scenario may occur in such environment :
On the container which manages the entire Cloud Storage management and provisioning,
if a File system already provisioned to a Virtual Machine (VM) is unmounted, and new File system containing a file with similar file path name is mounted, client VM will not be aware of the under the cover changes and it will continue I/O operations to the
Page 02 of 5
storage space provisioned for it. This may lead to data corruption and loss of data integrity.
The method presented in this article can be applied to detect and avoid such data integrity issues in Cloud environment.
The method explained in this article w...