Matthias Schniedermeyer wrote:
For the filesystem any block device looks the same, regardless if it is a
HDD, FDD, a(n encrypted-)loop or whatever else is used to satisfy the
issued requests.
Actually block devices have differences that file systems have to deal with:
1) Hard sector sizes may be different. File system code must detect block
device hard sector size and avoid issuing partial sector accesses.
2) Some device drivers don't support variable length read/write requests.
XFS for example had (has?) list of 'problematic' devices that needed
fixed size read/write requests. IIRC, md raid on 2.4 kernels was such
block device that got upset when banged with variable length requests.
3) Some block devices support write barriers on 2.6 kernels, some don't.
A file system that wants to issue barrier write requests have to work
around the not supported cases.
4) Maximum request sizes and bunch of other limits may be different.