Following are new features of NFS v4.2

1. Server Side Clone Copy:

Earlier, when copying file from one server to another server, there is network overhead as data copied from server1 to client and then from client to server2.  

In NFS v4.2 , There is no dependency on client for copy copying data from server 1 and server 2

New operations introduced in NFS v4.2 had  removed the network overhead by:

  • Intra-Server Clone: Client  can do request for synchronous cloning.
  • Intra-Server Copy: Client to request the server to perform copy internally.
  • Inter-Server Copy: Client to authorize source and destination servers for interacting  directly.

 

2. Application Input / Output Advice:

  • Server get advice about expected IO behaviour from clients and applications.  
  • I/O request is optimized because of  prefetching or evicting file data (caching).
  • I/O behavior communicated of  clients and application to server:
    • File Access Pattern: Tells Whether Sequential or Random file access pattern
    • File Access in Near Future: Tells Whether file can be accessed in near future or not

3. Sparse Files:

Sparse files are defined as those files which have unallocated data,  data blocks which are uninitialized as holes in the file. When read from file holes are transferred as zeros.

  • READ_PLUS: Server sends to client about description of holes.  
  • DEALLOCATE:Client can punch holes in files.
  • SEEK: It can provides scan for next hole.

 

4. Space Reservations:

  • This feature ensures that files have space reserved for future writes.
  • Applications needs to ensure that there are always data block for future writes for sparse files.
    • ALLOCATE: Allows the client needs to  request for the guarantee that space would be available.
    • DEALLOCATE: client to punch holes into files which will help for release of space reservation.

5. Application Data Block (ADB) Support:

Some applications treats a file like a disk and want to format the file image.

    • WRITE_SAME: It Sends metadata on the server to allow it to write block contents.

6. Labeled NFS:

  • Both the NFS client and NFS server uses MAC known as  Mandatory Access Control which is a security models for enforcing the data access.
  • sec_label  is introduced for labelled new file object.
    • sec_label: Server can string MAC labels on file which could be used for data access..

7. Layout Enhancements:

  • Client can communicate back to metadata server with these following details.
    • Error details: Provide Details about error.
    • Performance characteristics of the storage devices: Defines performance characteristics.
  • In case of NFS v4.1 it was not possible for clients to communicate back to the metadata server with error and performance characteristics as mentioned above.
  • For client to communicate with metadata server two new operations are added as discussed below:
    • LAYOUTERROR: This operation is used by client to communicate back to metadata server about any layout error which is represented by the
      • current file handle
      • client ID details
      • byte range information
      • lea_stateid
    • LAYOUTSTATS: It is shared to metadata-server with following statistics.
      • current file_handle
      • client ID
      • byte range
      • lsa_stateid.