1.umount异常:

当应用中存在打开的u盘中的文件或者目录,此时执行umount() U盘挂载点,umount()函数返回-1,并且设置errno=16 (Device or resource busy)

2.写过程拔出u盘:

当open成功,然后拔掉u盘,当执行write()函数,对u盘文件进行操作,write不会立即返回-1,因为Linux中存在缓存的原因,write操作不会直接写u盘,当缓存写满(这是其中一种情况),才会对u盘进行写操作,此时write()返回-1,并且设置error=5(Input/output error)。

3.读过程中拔出

当open成功,然后拔掉u盘,当执行read()函数,对u盘文件进行操作,read()函数一直返回0,不会设置errno。