A filesystem should allow to:
- Create a file
- Open and close file
- Write to file
- Read from file
- Seek in file
Other things outside the scope: directories, permissions, concurrency and locking, renaming, atomic operations, consistency/checksums, etc.
A distributed filesystem should do all of the above plus:
- Be available from multiple computers
- Data redundancy
- Error resilient, fail-over