From 27c299a123597729d011b4ec205acb0e0bc48b83 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 15 Apr 2013 19:29:31 +0000 Subject: alloc: posix_memalign does not set errno We must set errno manually for die_errno() if posix_memalign fails (cherry picked from commit 8c79cf794f6178b6978743af99d498ca0b449fb1) --- alloc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/alloc.c b/alloc.c index 04bc789..5afcee2 100644 --- a/alloc.c +++ b/alloc.c @@ -73,6 +73,8 @@ void *mog_cachealign(size_t size) case 0: return ptr; case ENOMEM: mog_oom(); } + + errno = err; /* most likely EINVAL */ die_errno("posix_memalign failed"); } -- cgit v1.2.3-24-ge0c7 From e247cd327850090dca3d500bc4abcafb3d098875 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 14 Apr 2013 00:50:10 +0000 Subject: iostat_parser: allow '-' for device names Linux device-mapper names show up as 'dm-0', 'dm-1' and so on. This allows users to store MogileFS files on encrypted devices using dm-crypt and perhaps other, similar tools. (cherry picked from commit 88d34b4686a650dba89674aa302ab13c78e8cef0) --- iostat_parser.rl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/iostat_parser.rl b/iostat_parser.rl index 27ede88..10ab104 100644 --- a/iostat_parser.rl +++ b/iostat_parser.rl @@ -14,7 +14,9 @@ } fgoto main; }; - device_name = ([a-zA-Z0-9/]+){1,71} $ { + + # Linux device mapper: dm-N + device_name = ([a-zA-Z0-9/\-]+){1,71} $ { if (iostat->dev_tip < (sizeof(iostat->dev)-1)) iostat->dev[iostat->dev_tip++] = fc; }; -- cgit v1.2.3-24-ge0c7 From d698442186bfa7c1b35e68720412c9add422616c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 6 May 2013 23:45:37 +0000 Subject: test/cmogstored-cfg: ensure TMPDIR is absolute for valgrind Our use of chdir in this test confuses valgrind which may create a temporary file. (cherry picked from commit dc801d4a4ded67d74f5306d6dad4aba629045cc8) --- test/test_helper.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/test_helper.rb b/test/test_helper.rb index 588f4df..153ca9f 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -9,6 +9,14 @@ require 'socket' require 'fileutils' $stderr.sync = $stdout.sync = Thread.abort_on_exception = true +# use absolute path for TMPDIR to make our chdir tests happy with valgrind +if tmpdir = ENV["TMPDIR"] + if tmpdir[0] != ?/ + ENV["TMPDIR"] = File.expand_path(tmpdir) + end +end + + TEST_HOST = ENV["TEST_HOST"] || (RUBY_PLATFORM =~ /linux/ ? "127.#{rand(256)}.#{rand(256)}.#{rand(256)}" : "127.0.0.1") -- cgit v1.2.3-24-ge0c7 From 9d4347d5c8385fa93b6eb31045f7280a4a228c94 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 11 May 2013 13:57:50 +0000 Subject: INSTALL: clarify between starting from tarball vs git Users unfamiliar with autotools may not realize bootstraping is required when building from git. (cherry picked from commit 1e80ba592ede05fe40b31686142f82294891afd0) --- INSTALL | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/INSTALL b/INSTALL index f04e7e5..4adcfd4 100644 --- a/INSTALL +++ b/INSTALL @@ -1,8 +1,13 @@ Standard autotools installation ******************************* +After unpacking the tarball: + ./configure && make && make install +If you are building from a git clone, see HACKING on how to generate +the `configure' shell script + Full instructions (as written by the FSF at the bottom). Runtime Requirements (GNU/Linux) -- cgit v1.2.3-24-ge0c7 From cdf2128a1e183e8abfa3d4fbf033c4fa46848898 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 11 May 2013 13:57:51 +0000 Subject: INSTALL: update versions and URLs libkqueue recently migrated to SourceForge and Debian 7.0 is the new stable. We still support Debian 6.0 and will likely support it for years to come since CentOS 5.x remains supported. (cherry picked from commit 86e5d10649f14fe3b3c8af37fd8ec04cc337fc9e) --- INSTALL | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/INSTALL b/INSTALL index 4adcfd4..f66987c 100644 --- a/INSTALL +++ b/INSTALL @@ -19,7 +19,7 @@ A modern GNU/Linux system with NPTL and epoll support is _required_. * GNU C Library (glibc 2.5 or later) * iostat ("sysstat" in most package managers) -The "stable" release of Debian GNU/Linux (currently 6.0) is the +The "stable" release of Debian GNU/Linux (currently 7.0) is the recommended runtime environment, but CentOS 5.x (or later) shall be fully supported. @@ -42,7 +42,7 @@ libkqueue: ./configure CFLAGS="-g -O2 $(pkg-config libkqueue --cflags)" \ LDFLAGS="$(pkg-config libkqueue --libs)" -libkqueue is available here: http://mark.heily.com/project/libkqueue +libkqueue is available here: http://sourceforge.net/projects/libkqueue/ We will only support running on 100% Free Software platforms. -- cgit v1.2.3-24-ge0c7 From 93c14ddc0977b82718d8b70c0c0e8a297b8a4211 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 11 May 2013 22:56:46 +0000 Subject: cmogstored 1.2.2 - minor maintenance release This is a minor maintenance release, no need to upgrade unless a) your gcc defaults to -march=i386 (e.g. 32-bit CentOS 5) b) your device names include '-' (e.g. Linux device mapper users) There are also some minor doc updates to clarify tarball vs git installation and a trivial error-handling fix which should not affect any current users. Eric Wong (6): build: add check for GCC atomics alloc: posix_memalign does not set errno iostat_parser: allow '-' for device names test/cmogstored-cfg: ensure TMPDIR is absolute for valgrind INSTALL: clarify between starting from tarball vs git INSTALL: update versions and URLs cmogstored 1.3 will have some fairly intrusive internal changes and cleanups to make it easier for users to trace and diagnose system and network problems. --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index 26b156a..51e1d29 100644 --- a/README +++ b/README @@ -55,7 +55,7 @@ Source tarballs suitable for distribution are housed here: * http://bogomips.org/cmogstored/files/ -Latest is http://bogomips.org/cmogstored/files/cmogstored-1.2.1.tar.gz +Latest is http://bogomips.org/cmogstored/files/cmogstored-1.2.2.tar.gz Source code =========== -- cgit v1.2.3-24-ge0c7