At Tue, 05 Apr 2011 15:43:04 +0100, Haven wrote: > > Hi, turning into a busy day for me on here. > > I'm mostly running sheepdog on x86_64 nodes but I have a single node > that its 32 bit x86 and its the only one of my nodes that is > displaying the incorrect node size. > > The sheepdog node is mounted as /var/lib/sheepdog and is an LVM > volume (ext4): > > > # df -h /var/lib/sheepdog > > Filesystem Size Used Avail Use% Mounted on > > /dev/mapper/vol-sheepdog > > 788G 197M 748G 1% /var/lib/sheepdog > collie node info is reporting this node as 3.3GB rather than 788GB - > co-incidentally 3.3GB is the size of the "/" partition: > > Id Size Used Use% > > 3 3.3 GB 0.0 MB 0% > > I can see that sheepdog is mounting the right location: > > 21773 ? Ss 0:00 sheep -p 7000 /var/lib/sheepdog > > 21774 ? Ssl 0:00 sheep -p 7000 /var/lib/sheepdog > The underlying "/" filesystem size shows where this number is coming > from (I assume): > > df -h / > > Filesystem Size Used Avail Use% Mounted on > > /dev/sda1 4.6G 994M 3.4G 23% / > > Its possible I've done something daft but if so I cannot spot what > it is. Sheepdog was started up after the mount point was in place, > as was corosync. I have resized the lvm partition but only whilst > all the daemons were down. > > Thoughts appreciated. This is a bug. Thanks for your report! The below will fix it. --- sheep/store.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sheep/store.c b/sheep/store.c index bca5846..e1b2c30 100644 --- a/sheep/store.c +++ b/sheep/store.c @@ -102,8 +102,8 @@ static int stat_sheep(uint64_t *store_size, uint64_t *store_free, uint32_t epoch closedir(dir); - *store_size = vs.f_frsize * vs.f_bfree + used; - *store_free = vs.f_frsize * vs.f_bfree; + *store_size = (uint64_t)vs.f_frsize * vs.f_bfree + used; + *store_free = (uint64_t)vs.f_frsize * vs.f_bfree; return SD_RES_SUCCESS; } -- 1.5.6.5 |