What is the Metadata stored with file and block storage? I assume that file storage has metadata regarding to the hierarchical nature of file system like,what files,what directories,files/sub-directories in directories and other metadata like creation date/permissions etc.

Now in block storage,from user perspective, we see file system arranged in hierarchical nature.But does block storage provide this as inbuilt feature?I think block storage does not know about hierarchical nature of file system. It can just break file in chunks and store it and while retrieving, it can combine and send a single file. So,my question is :

  1. Who exactly maintains hierarchical information in block storage?
  2. Who maintains metadata like creation date/last updated/permissions in block storage?

The block storage, as the name says, can only store fixes size blocks, typically 512 bytes. The each has it's own address, which is hardware specific. You can read or write the whole block only.

All hierarchical structures and the corresponding metadata that we see is represented by the file system on top of the block stage. The way, how the data is distributed over the blocks is file system specific.

Some earlier versions of the file system even did not have any directories and had a flat structure, like object stores today.

Probably the one of the simplest file system to understand is the earlt version of FAT from Microsoft


Have a look at the the diagram below. The metadata you're referring to only exists in the gray boxes and above. In the blue boxes and below all data is (generally speaking) considered to be just a sequence of generic bytes with no particular meaning or definition.

Basic Storage Stack

EDIT: The diagram was taken from a quick google for "storage stack" and came from https://www.iguazio.com/blog/wanted-a-faster-storage-stack/