[Drbd-dev] Bug in latest 8.4-git
Igor Novgorodov
igor at novg.net
Mon Oct 6 18:21:15 CEST 2014
I didn't found any bugtracker for DRBD project, so i reported the bug here.
ENOIOCTLCMD is returned in several places in net/socket.c and
net/ipv4/tcp.c,
it seems to have something to do with 32-bit code emulation on 64-bit
kernel:
#ifdef CONFIG_COMPAT
static int inet_compat_ioctl(struct socket *sock, unsigned int cmd,
unsigned long arg)
{
struct sock *sk = sock->sk;
int err = -ENOIOCTLCMD;
if (sk->sk_prot->compat_ioctl)
err = sk->sk_prot->compat_ioctl(sk, cmd, arg);
return err;
}
#endif
CONFIG_COMPAT is only defined if 32-bit emulation is enabled in kernel.
I've just rebuilt kernel with CONFIG_X86_X32 and drbd-8.4-git started to
work fine,
so the problem is there, somewhere in 64/32 compatibility layer :)
On 06.10.2014 19:34, Lars Ellenberg wrote:
> On Fri, Oct 03, 2014 at 11:33:44PM +0400, Igor Novgorodov wrote:
>> Hello!
>>
>> Just checked out latest rev of git tree and built it against latest
>> LTS vanilla kernel - 3.14.19
>>
>> And the problem is that it won't connect to the peer server (it's
>> drbd 8.4.3 and kernel 3.4.42) at all
>> with "listen failed, err = -515" error. Replication link is 4x1G
>> balance-rr bond which worked fine
>> for years, if that's relevant. IPv6 is disabled in kernel completely.
> Then why are you trying git checkouts on it...
>
>> I've fallen back to 8.4.5 stable release and it all worked fine again.
> Great. As long as the released code works ;-)
>
>> The thing is that last time i've checked out git version around July
>> 2014 - it worked fine too,
>> something broke later.
> Thanks for reporting anyways. That way we may be able to figure out
> what's wrong before the next release.
>
> errno -515 is "ENOIOCTLCMD" according to my kernel sources.
> Not sure why listen would report that?
>
>> Kernel log of the connection follows, glad to get any help or answer
>> any questions:
>>
>> [ 987.195779] drbd: failed to initialize debugfs -- will not be available
>> [ 987.195875] drbd: initialized. Version: 8.4.5 (api:1/proto:86-101)
>> [ 987.195946] drbd: GIT-hash:
>> ca3a67af3823b85614621a4cf95e191c5820c0eb build by
>> root at debian-service, 2014-10-03 21:23:28
>> [ 987.196039] drbd: registered as block device major 147
>> [ 987.243928] drbd VM_STORAGE2_1: Starting worker thread (from
>> drbdsetup-84 [7574])
>> [ 987.244564] block drbd0: disk( Diskless -> Attaching )
>> [ 987.245006] drbd VM_STORAGE2_1: Method to ensure write ordering: drain
>> [ 987.245080] block drbd0: max BIO size = 286720
>> [ 987.245151] block drbd0: Adjusting my ra_pages to backing
>> device's (32 -> 70)
>> [ 987.245227] block drbd0: drbd_bm_resize called with capacity ==
>> 23436772800
>> [ 987.309127] block drbd0: resync bitmap: bits=2929596600
>> words=45774947 pages=89405
>> [ 987.309223] block drbd0: size = 11 TB (11718386400 KB)
>> [ 988.983804] block drbd0: recounting of set bits took additional 8 jiffies
>> [ 988.983884] block drbd0: 0 KB (0 bits) marked out-of-sync by on
>> disk bit-map.
>> [ 988.983964] block drbd0: disk( Attaching -> UpToDate )
>> [ 988.984048] block drbd0: attached to UUIDs
>> 6BCB7D550A1E86DE:0000000000000000:22A0154CECB25AF2:229F154CECB25AF3
>> [ 989.016875] drbd VM_STORAGE2_2: Starting worker thread (from
>> drbdsetup-84 [7580])
>> [ 989.017381] block drbd1: disk( Diskless -> Attaching )
>> [ 989.017842] drbd VM_STORAGE2_2: Method to ensure write ordering: drain
>> [ 989.017919] block drbd1: max BIO size = 286720
>> [ 989.017990] block drbd1: Adjusting my ra_pages to backing
>> device's (32 -> 70)
>> [ 989.018066] block drbd1: drbd_bm_resize called with capacity ==
>> 17577578552
>> [ 989.065815] block drbd1: resync bitmap: bits=2197197319
>> words=34331209 pages=67054
>> [ 989.065908] block drbd1: size = 8382 GB (8788789276 KB)
>> [ 990.280610] block drbd1: recounting of set bits took additional 5 jiffies
>> [ 990.280690] block drbd1: 0 KB (0 bits) marked out-of-sync by on
>> disk bit-map.
>> [ 990.280771] block drbd1: disk( Attaching -> UpToDate )
>> [ 990.280855] block drbd1: attached to UUIDs
>> 7869022EE30A1DDC:0000000000000000:BEFCB1DA3C794170:BEFBB1DA3C794171
>> [ 990.282283] drbd VM_STORAGE2_1: conn( StandAlone -> Unconnected )
>> [ 990.282382] drbd VM_STORAGE2_1: Starting receiver thread (from
>> drbd_w_VM_STORA [7575])
>> [ 990.282590] drbd VM_STORAGE2_1: receiver (re)started
>> [ 990.282698] drbd VM_STORAGE2_1: conn( Unconnected -> WFConnection )
>> [ 990.282788] drbd VM_STORAGE2_1: listen failed, err = -515
>> [ 990.282888] drbd VM_STORAGE2_1: conn( WFConnection -> Disconnecting )
>> [ 990.283287] drbd VM_STORAGE2_1: Connection closed
>> [ 990.283307] drbd VM_STORAGE2_2: conn( StandAlone -> Unconnected )
>> [ 990.283349] drbd VM_STORAGE2_2: Starting receiver thread (from
>> drbd_w_VM_STORA [7581])
>> [ 990.283461] drbd VM_STORAGE2_2: receiver (re)started
>> [ 990.283500] drbd VM_STORAGE2_2: conn( Unconnected -> WFConnection )
>> [ 990.283515] drbd VM_STORAGE2_2: listen failed, err = -515
>> [ 990.283542] drbd VM_STORAGE2_2: conn( WFConnection -> Disconnecting )
>> [ 990.283580] drbd VM_STORAGE2_2: Connection closed
>> [ 990.283611] drbd VM_STORAGE2_2: conn( Disconnecting -> StandAlone )
>> [ 990.283975] drbd VM_STORAGE2_1: conn( Disconnecting -> StandAlone )
>> [ 991.282537] drbd VM_STORAGE2_1: State change failed: Need a
>> connection to start verify or resync
>> [ 991.282540] drbd VM_STORAGE2_2: State change failed: Need a
>> connection to start verify or resync
>> [ 991.282541] drbd VM_STORAGE2_2: mask = 0x1f0 val = 0x80
>> [ 991.282544] drbd VM_STORAGE2_2: old_conn:StandAlone
>> wanted_conn:WFConnection
>> [ 991.282545] drbd VM_STORAGE2_2: receiver terminated
>> [ 991.282546] drbd VM_STORAGE2_2: Terminating drbd_r_VM_STORA
>> [ 991.283005] drbd VM_STORAGE2_1: mask = 0x1f0 val = 0x80
>> [ 991.283076] drbd VM_STORAGE2_1: old_conn:StandAlone
>> wanted_conn:WFConnection
>> [ 991.283149] drbd VM_STORAGE2_1: receiver terminated
>> [ 991.283220] drbd VM_STORAGE2_1: Terminating drbd_r_VM_STORA
More information about the drbd-dev
mailing list