[Gluster-devel] Brick replace

Emmanuel Dreyfus manu at netbsd.org
Mon Sep 8 04:36:36 UTC 2014


Emmanuel Dreyfus <manu at netbsd.org> wrote:

> I try getting tests/basic/pump.t to pass on NetBSD, but after a few
> experiments, it seems the brick replace functionality is just broken.

I found the problem(s).

First there are hardcoded /bin/umount path in glusterd, which works on
Linux but not other systems. Easy to fix: I introduce _PATH_UMOUNT,
defined per-OS in compat.h

Second problem, the feature seems to really rely on lazy unmount, a
Linux-only feature. On NetBSD, I have to unmount the maintenance client
without -l (lazy), and it fails with EBUSY. I can just avoid the unmount
operation and proceed, that lets brick-replace work. With that change,
NetBSD passes tests/basic/pump.t

I will try to see if the maintenance client can be cleaned up after
commit success: it also makes sense, and it has greater chances of
succeeding because brick-replace activity should be over.

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu at netbsd.org


More information about the Gluster-devel mailing list