Commit Graph

436 Commits

Author SHA1 Message Date
Jenkins
d14ca34a1c 0.86 2014-10-07 12:16:58 -07:00
Sage Weil
63075361fd configure: do not try yasm on x32
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-08 15:51:58 -07:00
Sage Weil
c050afdbe0 Merge remote-tracking branch 'gh/next' 2014-09-08 12:19:45 -07:00
Jenkins
a0c22842db 0.85 2014-09-08 06:31:31 -07:00
Loic Dachary
39bcb43a7a erasure-code: preload the isa plugin by default
But only do so when it has been compiled because a recent enough yasm
has been found.

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-08-28 11:09:29 +02:00
Adam Crume
9673e2f3c1 lttng: Split --with-lttng and --with-babeltrace options
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-08-21 10:57:35 -07:00
Adam Crume
3f1917c094 lttng: Add informational messages to configure.ac
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-08-21 10:57:34 -07:00
Adam Crume
141f37a611 lttng: Check for babeltrace when autoconfiguring lttng
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-08-21 10:57:34 -07:00
Adam Crume
9c388f08f7 lttng: Check that the main babeltrace header is present
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-08-21 10:57:34 -07:00
Adam Crume
84bfe910a7 lttng: Test for sane lttng-gen-tp
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-08-21 10:57:34 -07:00
Adam Crume
861e6a3920 lttng: Update packaging
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-08-21 10:57:34 -07:00
Adam Crume
d4186feec5 lttng: Support --with-lttng=check
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-08-21 10:57:33 -07:00
Adam Crume
2a11a5cc92 lttng: Disable LTTng by default, add --with-lttng configure option
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-08-21 10:57:31 -07:00
Adam Crume
fcf49257f0 lttng: Add tracing-common.h
Signed-off-by: Adam Crume <adamcrume@gmail.com>
2014-08-21 10:57:28 -07:00
Noah Watkins
33b87f9227 tracing: automake-ify tracepoint generation
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2014-08-21 10:57:27 -07:00
Adam Crume
915a6a642f lttng: Check for lttng/tracepoint.h when configuring 2014-08-21 10:57:27 -07:00
Noah Watkins
115cfb3a2e tracing: bootstrap lttng-ust with mutex events
See src/tracing/README.md

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2014-08-21 10:57:27 -07:00
Sage Weil
92b227e1c0 Merge remote-tracking branch 'gh/next' 2014-08-18 21:10:32 -07:00
Jenkins
8336f81c5c 0.84 2014-08-18 09:02:20 -07:00
Sage Weil
f752ff49fe Merge pull request #2180 from ceph/wip-ec-isa
osd: add support for intel ISA-L EC library
2014-08-01 10:00:23 -07:00
Sage Weil
8fcbb65901 configure: enable static rocksdb if check and c++11
Signed-off-by: Sage Weil <sage@redhat.com>
2014-07-31 21:11:24 -07:00
Sage Weil
5502dd3e0f configure: verify c++11 is present for rocksdb
Signed-off-by: Sage Weil <sage@redhat.com>
2014-07-31 21:11:24 -07:00
Josh Durgin
eb1cd7801e rocksdb: update submodule makefile
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2014-07-31 21:11:24 -07:00
Sage Weil
d8b291f30d configure: check for 'better' yasm that can build ISA-L
Signed-off-by: Sage Weil <sage@redhat.com>
2014-07-31 15:18:51 -07:00
xinxin shu
708b5b8766 add --with-librocksdb-static configure options
with this options, ceph will build rocksdb from submodule

Signed-off-by: xinxin shu <xinxin.shu@intel.com>
2014-07-29 21:45:25 -07:00
xinxinsh
cbd0043ca7 add rocksdb support
Signed-off-by: xinxin shu <xinxin.shu@intel.com>
2014-07-29 21:45:25 -07:00
Sage Weil
6e6fc23c7e v0.83
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJT2AdNAAoJEH6/3V0X7TFt+5EP/iLOUg5o6aqBa/7yUNwtgZEb
 6cm1h8bWJpigP51oHGNyoeS4PnYWQ7DfvwKL/TDP8268g/o/w0DRvSnCZopHFos9
 j6Ci/VE9ag9uQNqW+NOph13k3fjf5KetzM5g/q/Ay4dKVCS2+9uABfosql9RNZa6
 ojhGKf2BtMgswfemq/0XWc49Ptimox5G/ntR+/xYm0s906q5wB1Y9Tvh2PNZo1Y1
 wL2qy9UnmonBLGIu0BIStKnub57VHCYbNqV6fl3W+Oct9f0znYPCqnRVUb2lw3Ie
 4KciilzteQCfurCCI7CQFmNEKCVpPlujiKo/q8CKIDgbwkMcUntCmW9QcmH3BzC5
 czYr695aokE+dt+MICRY+sIREY5achXynb7wnSon9JI8qrCUQ0o4fHQ1AZOio7V6
 +zcCdussqSeEXOoVUlNS5eGrzbY1kqrFcXY18WiCy6nadLapuUQTtJ5QALQyJ5TW
 8TidkkU6h0V4sworwpM6tiDLfq2UQwZ5NuP8MGz9DtOjMDbLHSE6TrRug7Irjj41
 4AKdkSWMhuXljm/rEsOi54ZGRUhq2VZ2xpnUD0WR8r/3lAP1d2UnefFlrSZaCN4z
 bNcrCncK7wre2UUyDQ/qJ+S808XPUPQaohbmb3Eg+Hr0mbkiJXYdNNyrUzL3wnkr
 E3YL+8sapzZKn9zOxNQ3
 =ujRc
 -----END PGP SIGNATURE-----

Merge tag 'v0.83'

v0.83
2014-07-29 16:23:12 -07:00
Jenkins
78ff1f0a5d 0.83 2014-07-29 13:42:53 -07:00
Sage Weil
b08470f0bf configure.ac: link libboost_thread only with json-spirit
Signed-off-by: Sage Weil <sage@redhat.com>
2014-07-27 16:58:08 -07:00
Sage Weil
9d23cc6aa6 configure: don't link blkid, udev to everything
These are already explicitly called out for libkrbd; don't need them in
LIBS.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-07-27 11:25:47 -07:00
Dan Mick
06a8f7b99c configure: do not link leveldb with everything
Detect leveldb, but do not let autoconf blindly link it with everything on the
planet.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Sighed-off-by: Sage Weil <sage@redhat.com>
2014-07-17 21:44:06 -07:00
Josh Durgin
59c00e5fd0 os: add prototype KineticStore
Implement the KeyValueDB interface using libkinetic_client,
and allow it to be configured as the backend for the KeyValueStore,
running the entire OSD on it.

This prototype implementation has no transaction safety, and is
only suitable as a proof of concept. Since the libkinetic_client
API does not provide reverse iteration over keys without also reading
the value off disk, it implements iterators in a very slow but correct way.
These are used heavily by the KeyValueDB callers, so this is a bottleneck
in performance.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2014-07-10 13:23:35 -07:00
Jenkins
14085f42dd 0.82 2014-06-25 16:47:51 +00:00
Sage Weil
4951244726 Merge remote-tracking branch 'gh/next' 2014-06-02 22:24:48 -07:00
Jenkins
8de9501df2 0.81 2014-06-02 18:37:27 +00:00
Samuel Just
f0316411fa Merge pull request #1811 from ceph/wip-perf-atomic
perf_counter: use atomics instead of mutex

Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-05-27 15:04:31 -07:00
Dmitry Smirnov
0f4120c011 look for "jni.h" in gcj-jdk path, needed to find "jni.h" with gcj-jdk_4.9.0
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
2014-05-12 13:57:20 +10:00
Yehuda Sadeh
bf3ba6001c atomic_t: add atomic64_t
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2014-05-11 11:18:13 -07:00
Sage Weil
d903895441 v0.80
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTaOuwAAoJEH6/3V0X7TFtMQgP/1UWkr94SrxwHwToD5TsLug4
 aeR923MnBn5qyPCDNyqpftWtxskfPSdDxJlkpc6qsFYlupECIb593z4F7tFejzVh
 LN0fkdHmut9g7EDpd9kgNeqgTb8tqxj/Nq4jih1fXWeznNEaQWkk5dVA8UsopCyv
 0FvSllxmTwD/jNtaloXb8jSI/wtjIlQzhucjJb80OjdIl7LfmtsA3DAAweTjX7c0
 Wv8daBnj2clgSe+gjYHvXOopzNszB9/+K5kWgLS5Cvs4ngHeYh03O7hVoFluHRbc
 hnzLQHMs/Pfs6HR2+eybc7z3UYxfVKZkcHpCqVzM5+lCwKQc61MZeJrJg7RWcTgP
 SNFBPYMMgPZABpdhNi3qEJpvZ65pD/gfShXdzQwMnXRCIF0714LWKYdsuSRCr9Lf
 3pkZ+zPHaID2OWWOXDOe6WY1Wg1YiVt8uss9ZRsOCkKDnc8JzPhx5Z7f4+f74bOU
 Cm7xLQH8EJtrxqQjGz2HO3OucI253OceVHWh2L9nHbRRNM3LMxW8fbd/dEbIfHiG
 g6Qh+NbyuRtiYLq7pRChKirE67dqXNoauE0Co0M6C6x1hqou41YQMD0gwjPdj5Iy
 1tScKXS+onPzt9KR/ZA8RNOLCCnLdOSn4G0qRD0xJIdyDPB562u6FNv9b4X7xgry
 kxpFEPCfRGSNNH2hNb0X
 =sTfQ
 -----END PGP SIGNATURE-----

Merge tag 'v0.80'

v0.80

Conflicts:
	src/osd/PG.cc
	src/osd/ReplicatedPG.cc
2014-05-09 10:58:35 -07:00
Sage Weil
e65a9da93a Revert "Fix installation into user home directory, broken by d3f0c0b"
This reverts commit 7539281037.

This breaks mount.fuse.ceph installation.
2014-05-06 07:04:56 -07:00
Jenkins
b78644e7de 0.80 2014-05-06 14:03:28 +00:00
Stefan Eilemann
7539281037 Fix installation into user home directory, broken by d3f0c0b
Signed-off-by: Stefan Eilemann <Stefan.Eilemann@epfl.ch>
2014-05-05 09:54:19 +02:00
Sage Weil
915bd92f50 Merge pull request #1701 from ceph/wip-libkrbd
libkrbd convenience library

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-04-28 16:52:12 -07:00
Ilya Dryomov
2651750498 rbd: add libkrbd convenience library
Add libkrbd libtool convenience library to provide an interface for
mapping and unmapping rbd images programmatically.  This will be used
by the rbd binary itself and the librbd_fsx testing tool.

libkrbd takes care of the kernel module stuff (common/module.h) and
makes use of libudev to be able to properly wait for block device
creation and deletion and tell which block device got assigned by the
kernel to the newly created mapping.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-04-23 13:33:43 +04:00
Jenkins
6769f4dc88 0.80-rc1 2014-04-22 21:21:45 +00:00
Ilya Dryomov
070a8208af configure: check for blkid/blkid.h header
The check for the presence of blkid/blkid.h was missing.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-04-22 20:43:14 +04:00
Dan Mick
d0a7632a31 Use cpp_strerror() wherever possible, and use autoconf for portability
strerror_r is not portable; on Gnu libc it returns char * and sometimes
does not fill in the supplied buffer.  Use autoconf to test which
version this platform uses and adapt.

Clean up the random calls to strerror and strerror_r (along with all
their private little one-use buffers) and regularize the code to use
cpp_strerror almost everywhere.  Where changed, any negation of the
error code is also removed, since cpp_strerror() will do that.

Note: some tools were using their own calls to strerror/strerror_r, so
will now get a (%d) in their output that wasn't there before; hence
the change to test/cli/monmaptool/print-nonexistent.t

Fixes: #8041
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2014-04-14 13:07:17 -07:00
Jenkins
4c2d73a509 0.79 2014-04-07 16:48:36 +00:00
Loic Dachary
c07aedb6db autotools: intel cpu features detection
Rename SIMD to INTEL for clarity.

Instead of agregating all flags in INTEL_FLAGS, create individual flags
for each feature (INTEL_SSE2_FLAGS etc.) for finer control in the
makefiles.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-27 14:27:23 +01:00
Loic Dachary
1bc680ebff erasure-code: deactivate SSE optimizations
Workaround until the bug is diagnosed and fixed

http://tracker.ceph.com/issues/7826 refs #7826

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-24 09:14:57 +01:00
Sage Weil
361b251e15 v0.78
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJTLLeZAAoJEH6/3V0X7TFtOTMP/Ru4Y8raF/yKFIKeqCu98l51
 CHYEQYHhLviDy6l0JJTZHVjkzYyfD1gf015ggIXGgQ45yp0dY2+Rv5kNJlRn9t+c
 HUyNO2Qaxe+9wmApkIIoNMrkmAcp2FVSNN0Vuri+LmlQkGJdRFwH1qfBnmqEMI22
 /4Zfca68LTFe2RzhE6sF1kqaHJAXx6YpApSyDJ5tzYNIk6JQ5sX4aObIBzPYYSZZ
 +VYbiQgV/UutiO0j2+V4Cg+Bm0tu0d4aoQam5rIYVDdzm17phzox4Y2r4XlTNe21
 5hz1MFGLbvi+gcwOiChQbOerGWa9MWhSstcAKuUmf8la1NHgG13rYVjbWnpiGNrH
 nOblSypZarCLkypOg8Ogv5wS8Q5d4j8MrU2lqciJTmMOVMtIonGg33qpS6WSelAa
 MetDgWqMCqnSeVj0kILE7rSRSZ0hnU4YRPu6mhHaahttdleb4jxQALT8YESp9Yep
 yH5BZHrfaUbqnSek/Pe+rNk+D4fsXMzsRI4YrqpLl/EWTmbtFWS5FXxCzfwQThA9
 SuhZtOCiKMykt/fyIkW9CxQyanGM1uZdRV5driu+2YbAtHQO7zT4sBV8RicEdX3M
 3HHDuuSWzjEN3ASkXUuJYncnXDLxYSiKvXCpTZ5+n5c/MtK7isQnmdt3PJRN5pKJ
 aQp3CL1bTrOue/yhNd/o
 =3q4f
 -----END PGP SIGNATURE-----

Merge tag 'v0.78'

v0.78
2014-03-22 10:24:25 -07:00
Jenkins
f6c746c314 0.78 2014-03-21 22:05:12 +00:00
Loic Dachary
8c7f6c11d4 autotools: AX_SSE detects the compiler SSE capabilities
For each SSE feature supported by the compiler

* add the corresponding -msse* flag
* define HAVE_SSE*

Remove AX_EXT because it decides based on the CPU capabilities of the
machine compiling the binary which may or may not be the one running
them.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-21 13:07:32 +01:00
Loic Dachary
543c642b1a erasure-code: disable SSE extensions
Until jerasure-2 / gf-complete is able to detect them at runtime.

http://tracker.ceph.com/issues/7757 refs #7757

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-18 15:46:22 +01:00
Sage Weil
7bc9ade26b Merge pull request #1384 from dachary/wip-7599
upgrade jerasure to version 2

Reviewed-by: Sage Weil <sage@inktank.com>
2014-03-17 20:52:57 -07:00
Ilya Dryomov
2e342d6d2a FileStore: support compiling without libxfs
When configured with --without-libxfs, use GenericFileStoreBackend
instead of XfsFileStoreBackend for XFS.  At this point this would only
impact the allocation hint op.  The default is to compile with
--with-libxfs.  (Previously it was unconditionally enabled on linux and
disabled for non-linux arches.)

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-03-10 11:44:11 +02:00
Loic Dachary
b74115a508 autotools: set SIMD_FLAGS with SSE flags
As well as compiler options.

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-03-10 08:24:20 +01:00
Ilya Dryomov
1f5b796f58 FileStore: introduce XfsFileStoreBackend class
Introduce XfsFileStoreBackend class, currently the only filestore
backend implementing SETALLOCHINT op.  This commit adds a build-time
dependency on libxfs as xfs-specific ioctl (XFS_IOC_FSSETXATTR /
XFS_XFLAG_EXTSIZE) is used to implement the new set_alloc_hint()
method.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-03-03 20:33:44 +02:00
Ken Dreyer
c5c7f6c8e8 Merge branch 'next'
Conflicts:
	src/test/admin_socket.cc

Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
2014-02-20 03:06:00 +00:00
Ken Dreyer
1bca9c5c41 v0.77 2014-02-19 22:54:44 +00:00
Ilya Dryomov
a5f479c2aa configure: fix F_SETPIPE_SZ detection
Currently CEPH_HAVE_SETPIPE_SZ is not set even if F_SETPIPE_SZ is
available, because AC_COMPILE_IFELSE test program as written always
fails to compile.  F_SETPIPE_SZ is a macro, so use AC_EGREP_CPP which
works on the preprocessor output instead of trying to compile.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-02-10 19:37:30 +02:00
Ilya Dryomov
450163ec40 configure: don't check for arpa/nameser_compat.h twice
Nuke redundant check and move the real one into the common
AC_CHECK_HEADERS stanza.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-02-10 19:37:30 +02:00
Ken Dreyer
3b990136bf v0.76 2014-02-03 18:26:25 +00:00
Ken Dreyer
03d7d97d5d Merge branch 'next' 2014-01-14 16:16:41 +00:00
Ken Dreyer
946d603695 v0.75 2014-01-13 21:07:01 +00:00
Sage Weil
5300ed9428 Merge pull request #1043 from ceph/port/misc
misc portability patches

Reviewed-by: Sage Weil <sage@inktank.com>
2014-01-06 23:00:05 -08:00
Jonathan Dieter
822ad58867 configure: support Automake 1.12
Signed-off-by: Jonathan Dieter <jdieter@lesbg.com>
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
2014-01-06 22:26:17 -07:00
Noah Watkins
ef6a56aa26 keyutils: handle non-linux platform
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2014-01-04 09:18:04 -08:00
Sage Weil
1f47a5b12e Merge pull request #1035 from ceph/port/bitsandints
endianess and integer types

Reviewed-by: Sage Weil <sage@inktank.com>
2014-01-02 13:52:40 -08:00
Noah Watkins
8220549315 inttypes: detect and define missing integer types
Working around missing integer types is pretty easy. For example, the
__u32 family are Linux-specific types, and using these in Ceph
internally is fine because we can typedef them.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2014-01-02 11:03:48 -08:00
Gary Lowell
fe3fd5fb4a Merge branch 'next' 2014-01-01 07:53:37 +00:00
Gary Lowell
c165483bc7 v0.74 2013-12-30 21:03:17 +00:00
Noah Watkins
1fec818f7c spinlock: add generic spinlock implementation
Adds a ceph_spinlock_t implementation that will use pthread_spinlock_t
if available, and otherwise reverts to pthread_mutex_t. Note that this
spinlock is not intended to be used in process-shared memory.

Switches implementation in:

  ceph_context
  SimpleMessenger
  atomic_t

Only ceph_context initialized its spinlock with PTHREAD_PROCESS_SHARED.
However, there does not appear to be any instance in which CephContext
is allocated in shared memory, and thus can use the default private
memory space behavior.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-12-28 14:43:14 -08:00
Sage Weil
b8fb366eab Merge pull request #837 from ceph/port/fallocate
FileJournal: zero-fill in-lieu of posix_fallocate

We may want to change that to a #warning later...

Reviewed-by: Sage Weil <sage@inktank.com>
2013-12-26 21:33:39 -08:00
Sage Weil
1597d4e9f5 Merge pull request #951 from ceph/wip-linux-version
common: introduce get_linux_version()

Reviewed-by: Sage Weil <sage@inktank.com>
2013-12-16 09:27:43 -08:00
Ilya Dryomov
fcf6e9878b common: introduce get_linux_version()
get_linux_version() returns a version of the currently running kernel,
encoded as in int, and is contained in common/linux_version.[ch].

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2013-12-16 18:57:21 +02:00
Ilya Dryomov
a2babe27e8 configure: break up AC_CHECK_HEADERS into one header-file per line
Break up AC_CHECK_HEADERS macro into one header-file per line so it's
easier to read and make changes.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2013-12-16 18:57:21 +02:00
Ilya Dryomov
462b3898e5 rbd: match against whole disks on unmap
Currently the way 'rbd unmap' translates a user-provided block device
into an rbd id is it matches the major number of the specified device
against /sys/bus/rbd/devices/<id>/major for each rbd mapping and
declares success on the first match.  This works for both entire disks
and partitions, because under the current device number allocation
scheme, each mapping means a new major number.

In preparation for support for single-major device number allocation
scheme, which would require matching both major and minor numbers, make
sure to always match against entire disk device numbers, by converting
the specified device major:minor pair into wholdedisk major:minor pair.
To achive that, use the libblkid library, which accomplishes this goal
by walking stable sysfs structures.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2013-12-13 17:40:52 +02:00
Gary Lowell
e5a02c33e2 Merge branch 'next' 2013-12-10 21:00:14 +00:00
Gary Lowell
d8ad51ee8a v0.73 2013-12-10 04:55:36 +00:00
Noah Watkins
539fe26109 wbthrottle: use feature check for fdatasync
Checking for fdatasync uses the same approach as the qemu configure
script. The relevant commit is d1722a27f552a22561104210e0afad4577878e53.
Here is a copy of the commit message which explains the check:

Under Darwin, a symbol exists for the fdatasync() function, so that our
link test succeeds. However _POSIX_SYNCHRONIZED_IO is set to '-1'.

According to POSIX:2008, a value of -1 means the feature is not
supported.
A value of 0 means supported at compilation time, and a value greater 0
means supported at both compilation and run time.

Enable fdatasync() only if _POSIX_SYNCHRONIZED_IO is '>0'.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-12-07 10:37:00 -08:00
Sage Weil
51cd75080d Merge pull request #838 from xinglin/boost-program-option-check
autoconf: add check for the boost_program_options library

Reviewed-by: Noah Watkins <noah.watkins@inktank.com>
2013-11-29 22:25:28 -08:00
Sage Weil
444ddaef7b Merge pull request #829 from ceph/port/detect-clang
conf: use better clang detection
2013-11-29 22:24:34 -08:00
Josh Durgin
29ef3d4607 Merge branch 'wip-zero-copy-bufferlist-last'
Reviewed-by: Samuel Just <sam.just@inktank.com>
2013-11-25 17:12:03 -08:00
Josh Durgin
be29b3471c buffer: attempt to size raw_pipe buffers
Make sure the requested length is below the maximum pipe size for now,
since we're only using one pipe and splicing once into and out of
it. The default max is 1MB on recent kernels, so this isn't such a
terrible limitation.

To get around this we could use multiple pipes, or keep both source and
destination fds open at the same time and call splice many times. This
is more usual usage for splice, but would require a lot more work to
restructure the filestore and messenger to handle it.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-11-22 16:14:03 -08:00
Josh Durgin
30bc0e2791 safe_io: add functions for handling splice
Like the other functions, these don't handle non-blocking I/O.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2013-11-22 16:14:03 -08:00
Xing Lin
125582e08e autoconf: add check for the boost_program_options library
check for the existence of boost_program_options library in
configure.ac since several files need that library

Signed-off-by: Xing Lin <xinglin@cs.utah.edu>
2013-11-10 17:06:55 -07:00
Noah Watkins
cfb82a1759 filejournal: add journal pre-allocate for osx
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-10 15:50:13 -08:00
Sage Weil
3596b4cfdb Merge pull request #823 from ceph/port/detect-libresolv
autoconf: check for res_nquery explicitly
2013-11-09 00:36:08 -08:00
Sage Weil
3c70da20e3 Merge pull request #834 from ceph/port/stat
client: use platform-specific stat time members

Reviewed-by: Sage Weil <sage@inktank.com>
2013-11-08 00:26:17 -08:00
Gary Lowell
aef3378bd7 Merge branch 'next' 2013-11-08 05:19:11 +00:00
Noah Watkins
01f7b463d1 client: use platform-specific stat time members
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-07 15:48:05 -08:00
Gary Lowell
5832e2603c v0.72 2013-11-07 20:27:35 +00:00
Noah Watkins
afb3566b18 conf: use better clang detection
Handle case where compiler isn't called 'clang'. This is slightly
modified from the version here:
http://src.chromium.org/svn/branches/1312/src/third_party/mesa/MesaLib/configure.ac

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-06 14:33:52 -08:00
Noah Watkins
ac044812d0 assert: choose function-var name on non-gnu
Selects __PRETTY_FUNCTION__ or __func__. Linux assumes GNU, and chooses
__PRETTY_FUNCTION__ if gcc/g++ versions are favorable.

This also includes a fix in ax_c_var_func.m4:

AC_TRY_COMPILE will wrap the test in main{}, and then GCC will complain
about nested functions. Just use the original main{} body.

diff --git a/m4/ax_c_var_func.m4 b/m4/ax_c_var_func.m4
index 0ad7d2b..8b57563 100644
--- a/m4/ax_c_var_func.m4
+++ b/m4/ax_c_var_func.m4
@@ -57,9 +57,9 @@ AC_DEFUN([AX_C_VAR_FUNC],
 [AC_REQUIRE([AC_PROG_CC])
 AC_CACHE_CHECK(whether $CC recognizes __func__, ac_cv_c_var_func,
 AC_TRY_COMPILE(,
-[int main() {
+[
 char *s = __func__;
-}],
+],
 AC_DEFINE(HAVE_FUNC,,
 [Define if the C complier supports __func__]) ac_cv_c_var_func=yes,
 ac_cv_c_var_func=no) )

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-06 14:16:28 -08:00
Noah Watkins
81a3ea1bc0 rgw: add compat file for name service macros
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-05 13:38:48 -08:00
Noah Watkins
1cc8558b60 autoconf: check for res_nquery explicitly
Creates a test that checks explicitly for res_nquery, which can be a
macro in resolv.h. Defines RESOLV_LIBS that contains any libraries that
need to be linked against.

Notes from later fix:

Based on the 2013-09-30 version of wip-port.  On FreeBSD, one must
include netinet/in.h to get the definitions for stuff in resolv.h.
Also, resolv.h's functions are part of libc instead of libresolv.

Signed-off-by: Alan Somers <asomers@gmail.com>
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-05 08:24:11 -08:00
Sage Weil
74873fd110 Merge pull request #816 from ceph/wip-fadvise
wbthrottle: use posix_fadvise if available

Reviewed-by: Sage Weil <sage@inktank.com>
2013-11-05 05:31:57 -08:00
Noah Watkins
6821a6e83a assert: use feature test for static_cast
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-04 13:14:11 -08:00
Noah Watkins
330a6a769b wbthrottle: use posix_fadvise if available
Only adding information about data usage. This won't effect correctness.

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
2013-11-04 13:01:33 -08:00