Gabriel VLASIU wrote: > On Fri, 28 Aug 2009, Gabriel VLASIU wrote: > > I receive this error then I try to mount a encrypted loop-AES partition: > > > > loop0: loop_end_io_transfer err=-95 bi_rw=0x5 > > > > For all others encrypted partitions I do not receive this error. Can be > > ignored? It is safe to stick for now with this kernel? > > > > kernel: 2.6.18-164.el5_3g.AES (RHEL 5.4 beta, compiled from sources at: > > http://people.redhat.com/dzickus/el5/164.el5/src/kernel-2.6.18-164.el5.src.rpm) > > loop-AES: 3.2g > > OK, I thing I know why this error occur. > > I use loop0 to mount a partition on top of raid5 array (software). > File-system is xfs. When partition is about to be mounted kernel xfs module > want to enable barriers and fail and continue with barriers disabled. > If I mount the partition with an explicit "nobarrier" option, the error is > gone. > > # losetup -F /dev/loo0 <--- no error reported > # mount /dev/loop0 /mnt/qwer <--- error reported > # mount -o barrier /dev/loop0 /mnt/qwer <--- error reported > # mount -o nobarrier /dev/loop0 /mnt/qwer <--- no error reported > > All other partitions are "normal" ones and barrier can be enabled for > them (well, at least with this kernel - I've seen the same behavior in > 2.6.30 from Fedora but not in the previous ones). > > Of course, it would be nice to have no error reported... err=-95 means: #define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ bi_rw=0x5 means: * bit 0 -- data direction * If not set, bio is a read from device. If set, it's a write to device. [snip] * bit 2 -- barrier * Insert a serialization point in the IO queue, forcing previously * submitted IO to be completed before this one is issued. Here is what happens: - File system sends barrier write to loop device. - Loop encrypts the data (not relevant here). - Loop device sends barrier write to RAID5 backing device. - RAID5 backing device not supporting barrier writes at all, so it returns EOPNOTSUPP error code. - Loop device prints error code it got from backing device. - Loop device returns EOPNOTSUPP error code to file system. - File system realizes that barrier writes do not work on that device, so it switches off barrier writes. - File system re-sends the write without barrier. Summary: File system auto-detects that barriers don't work on that particular device. If that error message annoys you, then use that -o nobarrier mount option. -- Jari Ruusu 1024R/3A220F51 5B 4B F9 BB D3 3F 52 E9 DB 1D EB E3 24 0E A9 DD - Linux-crypto: cryptography in and on the Linux system Archive: http://mail.nl.linux.org/linux-crypto/