Re: enbd-fr1 on 2.6.11.12 problems

denis bonnenfant <[email protected]>
Newsgroups gmane.linux.enbd.general
Message-ID <[email protected]>
Well, there is a little problem :
when an array is started with an enbd component, it can't be stopped.

I can manually fail nda1, and then stop the array,
but when there is an event causing  enbd-client to fail nda1 disk, I can't stop 
md0, mdadm says that device is busy, even if enbd-client reconnects and the nda1 
disk gets reconstructed.

I tried to force enbd module removing with echo 0>/proc/mdstat, and echo 1 too, 
but it doesn't works


enbd-client is started like this :
enbd-client ldap-croise 12345 -i A -n 4 -m /dev/nda

server like that :
enbd-server 12345 -i A

my /proc/nbdinfo :

Device a:       Open
[a] State:      verify, rw, merge requests, enabled, show_errs, last error 0, 
lives 1, bp 0
[a] Queued:     +0R/0W curr (check 0R/0W) +4R/155W max
[a] Buffersize: 262144  (sectors=512, blocks=64)
[a] Blocksize:  4096    (log=12)
[a] Size:       104856KB
[a] Blocks:     26214
[a] Sockets:    4       (*)     (+)     (+)     (+)
[a] Requested:  56.732K (13.6K) (13.4K) (14.2K) (15.3K) 299R/56.44KW    max 31
[a] Despatched: 56.727K (13.6K) (13.4K) (14.2K) (15.3K) 299R/56.43KW    md5 0W 
(0 eq, 0 ne, 0 dn)
[a] Errored:    388     (1)     (1)     (1)     (1)     4+384
[a] Pending:    0       (0)     (0)     (0)     (0)     0R/0W+0R/0W
[a] B/s now:    0       (0R+0W)
[a] B/s ave:    144K    (0R+144KW)
[a] B/s max:    145M    (1.00MR+144MW)
[a] Spectrum:   16%1    38%3    44%16
[a] Kthreads:   0       (0 waiting/0 running/1 max)
[a] Cthreads:   4       (+)     (+)     (+)     (+)
[a] Cpids:      4       (3846)  (3847)  (3848)  (3849)
Device b-p:     Closed






*Here I stop enbd-server :

md: errors occurred during superblock update, repeating
md: write_disk_sb failed for device nda1
*... 200 times...
md: errors occurred during superblock update, repeating
md: write_disk_sb failed for device nda1
md: excessive errors occurred during superblock update, exiting

*Strange ? normally md has been notified that enbd-server is down ?

raid1: Disk failure on nda1, disabling device.
         Operation continuing on 1 devices
raid1: made bitmap c5c55e00 at events 0:21c

*here server comes back :

md0: md_check_recovery 2: repair bit 0 on sb c5d14400 preserved
warning: process `enbd-client' used the obsolete bdflush system call
Fix your initscripts?
warning: process `enbd-client' used the obsolete bdflush system call
Fix your initscripts?
ENBD #3767[1]: fixup_slot failed to find slot for pid 3832 ioctl 4004ab10 arg bf
e4f598 (41)
ENBD #2535[1]: enbd_enable set VALID on nda
ENBD #74[2]: enbd_notify_md_device notifying 2344 for 2b:0 to raid devices via f
n
ENBD #81[1]: enbd_notify_md_device ioctl 2344 to raid devices returned -22
ENBD #74[3]: enbd_notify_md_device notifying 2344 for 2b:1 to raid devices via f
n
md0: repair of faulty disk 2b00001!
md0: notifying dev 2b00001 it is no longer in array
ENBD #4162[7]: enbd_ioctl received BLKMDUNTFY, now out of raid 900000
md: unbind<nda1>
md: export_rdev(nda1)
md 1243: unlock_rdev nulls bdev
md: WARNING: delaying free of exported rdev c5b51580
md 1233: lock_rdev restores bdev 2b00001 rdev(c5794dc0)->bdev(cfee0580)
nda1 (read) [events: 000000f0]
md: old uuid 8b050960 a29a0ec0 39a9072f 40e47ee4
md: new uuid 8b050960 a29a0ec0 39a9072f 40e47ee4
md0: new disk 2b00001 too old for repair (disk 240 < bitmap 543)

*really strange ! why so much events? write errors above? nothing special happens !

md: bind<nda1>
md0: notifying dev 2b00001 it is now in array
ENBD #4143[8]: enbd_ioctl received BLKMDNTFY, am now in raid 900000
ENBD #4152[1]: enbd_ioctl set show_errs on nda
md0: set repair bit to 0 on superblock c5d14400
md0: md_check_recovery 2: repair bit 0 on sb c5d14400 preserved
raid1: testing p->rdev c50dd940
raid1: testing p->rdev->bdev cfee03c0
raid1: testing p->rdev->bdev->bd_dev 800001
raid1: testing p->rdev c5b51580
raid1: testing p->rdev->bdev 00000000
raid1: late free of exported rdev c5b51580
RAID1 conf printout:
  --- wd:1 rd:2
  disk 0, wo:0, o:1, dev:sda1
  disk 1, wo:1, o:1, dev:nda1
.<6>md: syncing RAID array md0)
md: minimum _guaranteed_ reconstruction speed: 100000 KB/sec/disc.
md: using maximum available idle IO bandwith (but not more than 200000 KB/sec) f
or reconstruction.
md: using 128k window, over a total of 97152 blocks.
md0: no repair bit on sb so removed bitmap c5c55e00
raid1: synced dirty sectors 0-194303
raid1: synced dirty sectors 0-194431
md: md0: sync done.
bitmap: 3 pages in use
bitmap: 3 pages allocated
bitmap: 0 pages pre-allocated
RAID1 conf printout:
  --- wd:2 rd:2
  disk 0, wo:0, o:1, dev:sda1
  disk 1, wo:0, o:1, dev:nda1
md0: md_check_recovery 1: repair bit 0 on sb c5d14400 preserved
md0: md_check_recovery 2: repair bit 0 on sb c5d14400 preserved

*end of reconstruction
*run mdadm /dev/md0 --fail /dev/sda1

raid1: Disk failure on sda1, disabling device.
         Operation continuing on 1 devices
raid1: made bitmap c5c55e00 at events 0:225
md0: md_check_recovery 2: repair bit 0 on sb c5d14400 preserved

*run mdadm --stop /dev/md0

md: md0 still in use.



I got this on the server  :



Jun 22 13:27:50 ldap enbd-server: enbd-server  2962: <#1414> do_srv_write 
request for nonblock (4096) length at 0x2000 (8192) seqno 6680 len 512
Jun 22 13:27:50 ldap enbd-server: enbd-server  2962: <#1414> do_srv_write 
request for nonblock (4096) length at 0x2000 (8192) seqno 6681 len 512
Jun 22 13:27:50 ldap enbd-server: enbd-server  2962: <#1414> do_srv_write 
request for nonblock (4096) length at 0x2008000 (33587200) seqno 6682 len 1024
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.