at once. See individual commit messages for details.
Fixes: http://tracker.ceph.com/issues/5048
Thanks,
Ilya
Ilya Dryomov (7):
rbd: rbd_device::dev_id is an int, format it as such
rbd: tweak loaded message and module description
rbd: refactor rbd_init() a bit
rbd: switch
Tweak loaded message, so that it looks like
[ 30.184235] rbd: loaded
instead of
[ 38.056564] rbd: loaded rbd (rados block device)
Also move (and slightly tweak) MODULE_DESCRIPTION so that all authors
are next to each other in modinfo output.
Signed-off-by: Ilya Dryomov ilya.dryo
Introduce /sys/bus/rbd/devices/id/minor sysfs attribute for exporting
rbd whole disk minor numbers. This is a step towards single-major
device number allocation scheme, but also a good thing on its own.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
Reviewed-by: Alex Elder el...@linaro.org
completely unpredictable. So, in preparation for
single-major device number allocation scheme, which is going to
establish and rely on a constant mapping between rbd ids and device
numbers, switch to ida for rbd id assignments.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
Reviewed-by: Alex Elder
rbd_device::dev_id is an int, format it as such.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
Reviewed-by: Alex Elder el...@linaro.org
Reviewed-by: Josh Durgin josh.dur...@inktank.com
---
drivers/block/rbd.c |6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git
In preparation for single-major device number allocation scheme, wire
up attribute_group::is_visible() callback for rbd bus. This allows us
to make the new single-major attributes conditional.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
Reviewed-by: Alex Elder el...@linaro.org
Reviewed
...
259 23 0 rbd1p39
259 24 0 rbd1p40
251 32 1024 rbd2
251 33 0 rbd2p1
251 34 0 rbd2p2
(major 251 was assigned dynamically at module load time)
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
Reviewed-by: Josh Durgin
,
Ilya
Ilya Dryomov (2):
rbd: introduce rbd_dev_header_unwatch_sync() and switch to it
rbd: tear down watch request if rbd_dev_device_setup() fails
drivers/block/rbd.c | 41 -
1 file changed, 28 insertions(+), 13 deletions
Rename rbd_dev_header_watch_sync() to __rbd_dev_header_watch_sync() and
introduce two helpers: rbd_dev_header_{,un}watch_sync() to make it more
clear what is going on.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
drivers/block/rbd.c | 35 ++-
1 file
Tear down watch request if rbd_dev_device_setup() fails.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
drivers/block/rbd.c |6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index c91108b760cf..e709f4ae117f 100644
--- a/drivers/block
On Mon, Dec 16, 2013 at 6:07 PM, Sage Weil s...@inktank.com wrote:
-- Forwarded message --
From: scan-ad...@coverity.com
To: undisclosed-recipients:;
Cc:
Date: Mon, 16 Dec 2013 00:57:57 -0800
Subject: New Defects reported by Coverity Scan for ceph
Hi,
Please find the
Whoever is going to be doing this should probably make sure that
https://github.com/ceph/autobuild-ceph/pull/5 is merged before rolling
stuff out.
(I have already installed libblkid-dev on pretty much all gitbuilders
by hand, but it wouldn't hurt to capture both pytest and libblkid-dev
in a
Reflects ceph.git commit 3cef755428761f2481b1dd0e0fbd0464ac483fc5.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/crush/mapper.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ceph/crush/mapper.c b/net/ceph/crush/mapper.c
index 71192b1f8501
commit b1d4dd4eb044875874a1d01c01c7d766db5d0a80.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/crush/crush.h |3 ++-
net/ceph/crush/mapper.c |8 ++--
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/include/linux/crush/crush.h b/include/linux
the rep pools).
(We should do the same for the other tunables, by the way!)
Reflects ceph.git commit c43c893be872f709c787bc57f46c0e97876ff681.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/crush/crush.h |2 ++
net/ceph/crush/mapper.c | 31
Reflects ceph.git commit 4551fee9ad89d0427ed865d766d0d44004d3e3e1.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/crush/mapper.c |8
1 file changed, 8 insertions(+)
diff --git a/net/ceph/crush/mapper.c b/net/ceph/crush/mapper.c
index caeb1066bea3..77b7a73e65cf
mode. This appears to
have happened wy back in commit dae8bec9 (or earlier)... 2007.
Reflects ceph.git commit 94350996cb2035850bcbece6a77a9b0394177ec9.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/crush/mapper.c | 88 ++-
1 file
This is only present to size the temporary scratch arrays that we put on
the stack. Let the caller allocate them as they wish and remove the
limitation.
Reflects ceph.git commit 1cfe140bf2dab99517589a82a916f4c75b9492d1.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux
Reflects ceph.git commit 86e978036a4ecbac4c875e7c00f6c5bbe37282d3.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/crush/crush.h |3 +-
net/ceph/crush/mapper.c | 172 ---
2 files changed, 165 insertions(+), 10 deletions
-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/crush/mapper.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/net/ceph/crush/mapper.c b/net/ceph/crush/mapper.c
index 125dbd04f2b6..c727836b5860 100644
--- a/net/ceph/crush/mapper.c
+++ b/net/ceph/crush
tolerate previous bad osdmaps that got into this state. It's
also a bit more defensive.
Reflects ceph.git commit 5922e2c2b8335b5e46c9504349c3a55b7434c01a.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/crush/mapper.h |2 +-
net/ceph/crush/mapper.c | 17
introduced by
crush/mapper: finish adding choose_local_[fallback_]tries
Available from wip-crush-2 branch of ceph-client.git.
Thanks,
Ilya
Ilya Dryomov (19):
crush: pass weight vector size to map function
crush: factor out (trivial) crush_destroy_rule()
crush: reduce
Reflects ceph.git commit e7d47827f0333c96ad43d257607fb92ed4176550.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/crush/mapper.c |6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/ceph/crush/mapper.c b/net/ceph/crush/mapper.c
index 18d2cf66f102
with indep mode.
Reflects ceph.git commit 685c6950ef3df325ef04ce7c986e36ca2514c5f1.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/crush/mapper.c | 25 ++---
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/net/ceph/crush/mapper.c b/net/ceph
.
In contrast, for indep, if tries is not specified we default to 1
recursive attempt, because that is simply more sane, and we have the
option to do so. The descend_once tunable has no effect for indep.
Reflects ceph.git commit 64aeded50d80942d66a5ec7b604ff2fcbf5d7b63.
Signed-off-by: Ilya Dryomov
Since we can specify the recursive retries in a rule, we may as well also
specify the non-recursive tries too for completeness.
Reflects ceph.git commit d1b97462cffccc871914859eaee562f2786abfd1.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/crush/crush.h |3 ++-
net
This aligns the internal identifier names with the user-visible names in
the decompiled crush map language.
Reflects ceph.git commit caa0e22e15e4226c3671318ba1f61314bf6da2a6.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/crush/crush.h |6 +++---
net/ceph/crush
Reflects ceph.git commit ea3a0bb8b773360d73b8b77fa32115ef091c9857.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/crush/mapper.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/net/ceph/crush/mapper.c b/net/ceph/crush/mapper.c
index
Reflects ceph.git commit 8b38f10bc2ee3643a33ea5f9545ad5c00e4ac5b4.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/crush/mapper.c |6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/net/ceph/crush/mapper.c b/net/ceph/crush/mapper.c
index 71ce4f12a7c9
This allows all of the tunables to be overridden by a specific rule.
Reflects ceph.git commits d129e09e57fbc61cfd4f492e3ee77d0750c9d292,
0497db49e5973b50df26251ed0e3f4ac7578e66e.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/crush/crush.h
,
Ilya
Ilya Dryomov (2):
libceph: all features fields must be u64
libceph: update ceph_features.h
fs/ceph/mds_client.c | 14 +++---
fs/ceph/super.c|4 +-
include/linux/ceph/ceph_features.h | 96
include/linux/ceph
In preparation for ceph_features.h update, change all features fields
from unsigned int/u32 to u64. (ceph.git has ~40 feature bits at this
point.)
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
fs/ceph/mds_client.c | 14 +++---
fs/ceph/super.c|4
commit 053659d05e0349053ef703b414f44965f368b9f0.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/ceph_features.h | 96
net/ceph/messenger.c |4 +-
2 files changed, 67 insertions(+), 33 deletions(-)
diff --git
Add CRUSH_V2 feature (new indep mode and SET_* steps) to a set of
features supported by default.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/ceph_features.h |3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/linux/ceph/ceph_features.h
Similar to userspace, don't bail with parse_ips bad ip ... if the
specified port is port 0, instead use port CEPH_MON_PORT (6789, the
default monitor port).
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/messenger.c |4 +++-
1 file changed, 3 insertions(+), 1 deletion
On Tue, Jan 7, 2014 at 12:09 AM, Greg KH g...@kroah.com wrote:
On Tue, Dec 31, 2013 at 08:21:19AM -0800, Sage Weil wrote:
Hi Greg,
This is a somewhat long overdue set of fixes for 3.10.y. Since there
are a lot of patches, they can be pulled from
of xfstests in a configuration that
previously took ~5 hours to make it pop up and should probably be
committed w/o waiting for part 2.
Thanks,
Ilya
Ilya Dryomov (3):
libceph: rename ceph_msg::front_max to front_alloc_len
libceph: rename front to front_len in get_reply
another bug, leads to forever hung tasks and forced
reboots. Fix this by comparing front_len with front_alloc_len field of
struct ceph_msg, which stores the actual size of the buffer.
Fixes: http://tracker.ceph.com/issues/5425
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph
:
- for buffers (ceph_buffer_new()), from trying to kmalloc() everything
and using vmalloc() just as a fallback
- for messages (ceph_msg_new()), from going to vmalloc() for anything
bigger than a page
- for messages (ceph_msg_new()), from disallowing vmalloc() to use high
memory
Signed-off-by: Ilya
On Wed, Jan 15, 2014 at 5:42 AM, Sage Weil s...@inktank.com wrote:
[...]
* rbd: support for 4096 mapped devices, up from ~250 (Ilya Dryomov)
Just a note, v0.75 simply adds some of the infrastructure, the actual
support for this will arrive with kernel 3.14. The theoretical limit
is 65536
On Fri, Jan 17, 2014 at 11:20 AM, Ilya Dryomov ilya.dryo...@inktank.com wrote:
On Fri, Jan 17, 2014 at 2:05 AM, Christian Balzer ch...@gol.com wrote:
On Thu, 16 Jan 2014 15:51:17 +0200 Ilya Dryomov wrote:
On Wed, Jan 15, 2014 at 5:42 AM, Sage Weil s...@inktank.com wrote:
[...]
* rbd
Add a missing newline to dout() in __reset_osd().
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/osd_client.c |4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index 733195170490..959d332ed534 100644
In preparation for connect timeout abstract ceph_connection
fault-initiating logic into a separate function and start using it.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/messenger.c | 13 ++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/net
-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/messenger.h |5 +
net/ceph/ceph_common.c |1 +
net/ceph/messenger.c | 31 +++
3 files changed, 37 insertions(+)
diff --git a/include/linux/ceph/messenger.h b/include/linux
Hello,
This series fixes #7139 (Linux kernel client, dead tcp connections
during connection negotiation may lead to hangs). 1/2 and 2/2 are
preparatory patches, 3/3 is the actual fix.
Thanks,
Ilya
Ilya Dryomov (3):
libceph: add function names to timeout dout()s
libceph
On Fri, Jan 17, 2014 at 3:28 PM, Ilya Dryomov ilya.dryo...@inktank.com wrote:
Hello,
This series fixes #7139 (Linux kernel client, dead tcp connections
during connection negotiation may lead to hangs). 1/2 and 2/2 are
preparatory patches, 3/3 is the actual fix.
Please ignore this, I'm going
On Tue, Jan 21, 2014 at 10:28 AM, Laurent Barbe laur...@ksperis.com wrote:
Hi all,
About 0.75, when I created cache pool, kernel client like rbd or cephfs make
error feature set mismatch. (Even if the device is not on the cached pool)
$ rbd map rbd/myrbd= OK
$ ceph osd pool create
in con_close_socket() (3/3)
Thanks,
Ilya
Ilya Dryomov (3):
libceph: add function names to timeout dout()s
libceph: introduce con_fault_raise() and switch to it
libceph: handle dead tcp connections during connection negotiation
include/linux/ceph/messenger.h |5
net/ceph
In preparation for connect timeout abstract ceph_connection
fault-initiating logic into a separate function and start using it.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/messenger.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/net/ceph
-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/messenger.h |5 +
net/ceph/ceph_common.c |1 +
net/ceph/messenger.c | 42 ++--
3 files changed, 46 insertions(+), 2 deletions(-)
diff --git a/include/linux/ceph
On Sat, Jan 25, 2014 at 1:07 AM, Sage Weil s...@inktank.com wrote:
On Tue, 21 Jan 2014, Ilya Dryomov wrote:
Keepalive mechanism that we are currently using doesn't handle dead
(e.g. half-open in RFC 793 sense) TCP connections: a) it's based on
pending ceph_osd_requests which
I've looked into this some more and I now think connect_timeout
approach not the best way to fix this. I think a better way is to go
through all connection and negotiation waits on both rbd and cephfs
sides and make sure they are interruptible and have a timeout attached.
Only if that turns out
Move ceph_file_layout helper macros and inline functions to ceph_fs.h.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/ceph_fs.h | 23 +++
include/linux/ceph/osdmap.h | 27 ---
2 files changed, 23 insertions(+), 27
In preparation for adding oid abstraction, rename MAX_OBJ_NAME_SIZE to
CEPH_MAX_OID_NAME_LEN.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
drivers/block/rbd.c |6 +++---
include/linux/ceph/osd_client.h |4 ++--
net/ceph/osd_client.c |2 +-
3 files
Ilya Dryomov (11):
libceph: start using oloc abstraction
libceph: move ceph_file_layout helpers to ceph_fs.h
libceph: rename MAX_OBJ_NAME_SIZE to CEPH_MAX_OID_NAME_LEN
libceph: introduce and start using oid abstraction
libceph: replace ceph_calc_ceph_pg() with ceph_oloc_oid_to_pg()
libceph
Update CEPH_OSD_FLAG_* enum. (We need CEPH_OSD_FLAG_IGNORE_OVERLAY to
support tiering).
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/rados.h |4
1 file changed, 4 insertions(+)
diff --git a/include/linux/ceph/rados.h b/include/linux/ceph/rados.h
index
Rename ceph_osd_request::r_{oloc,oid} to r_base_{oloc,oid} before
introducing r_target_{oloc,oid} needed for redirects.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
drivers/block/rbd.c |8
include/linux/ceph/osd_client.h |4 ++--
net/ceph/debugfs.c
Lookup pool info by ID function is hidden in osdmap.c. Expose it to
the rest of libceph.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/osdmap.h |3 +++
net/ceph/osdmap.c |5 +
2 files changed, 8 insertions(+)
diff --git a/include/linux/ceph
Switch ceph_calc_ceph_pg() to new oloc and oid abstractions and rename
it to ceph_oloc_oid_to_pg() to make its purpose more clear.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
fs/ceph/ioctl.c |8 ++--
include/linux/ceph/osdmap.h |7 +--
net/ceph
Announce our (limited, see previous commit) support for CACHEPOOL
feature.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/ceph_features.h |1 +
1 file changed, 1 insertion(+)
diff --git a/include/linux/ceph/ceph_features.h
b/include/linux/ceph/ceph_features.h
}_tier are ignored.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/osdmap.h |2 ++
net/ceph/osd_client.c | 30 --
net/ceph/osdmap.c | 28 +---
3 files changed, 55 insertions(+), 5 deletions
doesn't exist yet, and
hence this commit adds support for pool redirects only. To make sure
that future server-side updates don't break us, we decode all fields
and, if any of key, nspace, hash or oid have a non-default value, error
out with corrupt osd_op_reply ... message.
Signed-off-by: Ilya
at this point we only send (i.e. encode) olocs and never
have to receive (i.e. decode) them.
This makes keeping a copy of ceph_file_layout in every osd request
unnecessary, so ceph_osd_request::r_file_layout field is nuked.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
drivers/block/rbd.c
On Mon, Jan 27, 2014 at 6:38 PM, Sage Weil s...@inktank.com wrote:
Would it make more sense to just rename and export the existing function?
I'm not sure __ is particularly meaningful in the context of osdmap.c...
I added a new one because __lookup_pg_pool() takes rb_root, whereas all
existing
On Mon, Jan 27, 2014 at 8:32 PM, Sage Weil s...@inktank.com wrote:
On Mon, 27 Jan 2014, Ilya Dryomov wrote:
Follow redirect replies from osds, for details see ceph.git commit
fbbe3ad1220799b7bb00ea30fce581c5eadaf034.
v1 (current) version of redirect reply consists of oloc and oid, which
PAGE_CACHE_SIZE is unsigned long on all architectures, however size_t
is either unsigned int or unsigned long. Rather than change format
strings, cast PAGE_CACHE_SIZE to size_t to be in line with dout()s in
ceph_page_mkwrite().
Cc: Yan, Zheng zheng.z@intel.com
Signed-off-by: Ilya Dryomov
Use min_t(size_t, ...) instead of plain min(), which does strict type
checking, to avoid compile warning on i386.
Cc: Jianpeng Ma majianp...@gmail.com
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
fs/ceph/file.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs
On Wed, Jan 29, 2014 at 4:30 PM, Sage Weil s...@inktank.com wrote:
On Tue, 28 Jan 2014, Sage Weil wrote:
Hi Linus,
On Tue, 28 Jan 2014, Linus Torvalds wrote:
On Tue, Jan 28, 2014 at 1:10 PM, Dave Jones da...@redhat.com wrote:
This breaks the build for me.
It is my merge
From: Sage Weil s...@inktank.com
The merge of 7221fe4c2 raced with upstream changes in the generic POSIX
ACL code (2aeccbe95). Update Ceph to use the new helpers as well by
dropping the now-generic functions and setting the set_acl inode op.
Signed-off-by: Sage Weil s...@inktank.com
---
v2:
On Wed, Jan 29, 2014 at 6:37 PM, Ilya Dryomov ilya.dryo...@inktank.com wrote:
From: Sage Weil s...@inktank.com
The merge of 7221fe4c2 raced with upstream changes in the generic POSIX
ACL code (2aeccbe95). Update Ceph to use the new helpers as well by
dropping the now-generic functions
Factor out logic from ceph_osdc_start_request() into a new helper,
__ceph_osdc_start_request(). ceph_osdc_start_request() now amounts to
taking locks and calling __ceph_osdc_start_request().
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/osd_client.c | 62
. This shouldn't result in any contention,
because all osd requests were already serialized by request_mutex at
that point; the only unlocked caller was ceph_ioctl_get_dataloc().
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/osdmap.h |3 +++
net/ceph/osdmap.c
Hello,
- 1/4 is a simple error path fix
- 2/4 replaces VLA with a heap buffer
- 3/4 and 4/4 eliminate a possible race condition in redirect reply
handling
I think these can go into rc2 after some testing.
Thanks,
Ilya
Ilya Dryomov (4):
libceph: fix error handling
, crush_mutex.)
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/osd_client.c | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index 2aa82b6bb305..0676f2b199d6 100644
--- a/net/ceph/osd_client.c
msgpool_op_reply message pool isn't destroyed if workqueue construction
fails. Fix it.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/osd_client.c |5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index
On Mon, Feb 3, 2014 at 6:27 PM, Sage Weil s...@inktank.com wrote:
On Mon, 3 Feb 2014, Ilya Dryomov wrote:
With the addition of erasure coding support in the future, scratch
variable-length array in crush_do_rule_ary() is going to grow to at
least 200 bytes on average, on top of another 128
Commit f38a5181d9f3 (ceph: Convert to immutable biovecs) introduced
a NULL pointer dereference, which broke rbd in -rc1. Fix it.
Cc: Kent Overstreet k...@daterainc.com
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/messenger.c |8 ++--
1 file changed, 6 insertions
On Thu, Feb 13, 2014 at 11:50 AM, Dan Carpenter
dan.carpen...@oracle.com wrote:
Hello Yehuda Sadeh,
The patch 59c2be1e4d42: rbd: use watch/notify for changes in rbd
header from Mar 21, 2011, leads to the following static checker
warning:
drivers/block/rbd.c:687
Our longest osd request now contains 3 ops: copyup+hint+write.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/osd_client.h |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/ceph/osd_client.h b/include/linux/ceph/osd_client.h
index
In an effort to reduce fragmentation, prefix every rbd write with
a CEPH_OSD_OP_SETALLOCHINT osd op with an expected_write_size value set
to the object size (1 order). Backwards compatibility is taken care
of on the libceph/osd side.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
CEPH_OSD_MAX_OP value in rbd_osd_req_callback() is hard-coded to 2.
Fix it.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
drivers/block/rbd.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index b365e0dfccb6
workloads have very high levels of fragmentation in xfs
and this would mitigate that and probably have a pretty nice
performance benefit.
SETALLOCHINT is considered advisory, so our backwards compatibility
mechanism here is to set FAILOK flag for all SETALLOCHINT ops.
Signed-off-by: Ilya Dryomov
Hello,
This series adds support for CEPH_OSD_OP_SETALLOCHINT osd op to libceph
along with adjusting rbd to make use of it. The rationale and the
basic desing was outlined in the rados io hints thread on ceph-devel
about a month ago.
Thanks,
Ilya
Ilya Dryomov (6):
libceph
Encode ceph_osd_op::flags field so that it gets sent over the wire.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/osd_client.h |1 +
include/linux/ceph/rados.h |2 +-
net/ceph/osd_client.c |2 ++
3 files changed, 4 insertions(+), 1
In preparation for prefixing rbd writes with an allocation hint
introduce a num_ops parameter for rbd_osd_req_create(). The rationale
is that not every write request is a write op that needs to be prefixed
(e.g. watch op), so the num_ops logic needs to be in the callers.
Signed-off-by: Ilya
On Mon, Feb 24, 2014 at 4:59 PM, Alex Elder el...@ieee.org wrote:
On 02/21/2014 12:55 PM, Ilya Dryomov wrote:
This is primarily for rbd's benefit and is supposed to combat
fragmentation:
... knowing that rbd images have a 4m size, librbd can pass a hint
that will let the osd do the xfs
On Mon, Feb 24, 2014 at 4:59 PM, Alex Elder el...@ieee.org wrote:
On 02/21/2014 12:55 PM, Ilya Dryomov wrote:
CEPH_OSD_MAX_OP value in rbd_osd_req_callback() is hard-coded to 2.
Fix it.
Please squash this in with the previous patch (at least).
Change the BUG_ON() to rbd_assert() while you're
On Mon, Feb 24, 2014 at 4:58 PM, Alex Elder el...@ieee.org wrote:
On 02/21/2014 12:55 PM, Ilya Dryomov wrote:
Hello,
This series adds support for CEPH_OSD_OP_SETALLOCHINT osd op to libceph
along with adjusting rbd to make use of it. The rationale and the
basic desing was outlined
On Mon, Feb 24, 2014 at 4:59 PM, Alex Elder el...@ieee.org wrote:
On 02/21/2014 12:55 PM, Ilya Dryomov wrote:
In an effort to reduce fragmentation, prefix every rbd write with
a CEPH_OSD_OP_SETALLOCHINT osd op with an expected_write_size value set
to the object size (1 order). Backwards
On Tue, Feb 25, 2014 at 3:05 PM, Alex Elder el...@ieee.org wrote:
The other thing is that the expected size is limited by
rbd_image_header-obj_order, which is a single byte. I
think you should encode this the same way. Even if the
hint were for more than RBD, this level of granularity
may
workloads have very high levels of fragmentation in xfs
and this would mitigate that and probably have a pretty nice
performance benefit.
SETALLOCHINT is considered advisory, so our backwards compatibility
mechanism here is to set FAILOK flag for all SETALLOCHINT ops.
Signed-off-by: Ilya Dryomov
In preparation for prefixing rbd writes with an allocation hint
introduce a num_ops parameter for rbd_osd_req_create(). The rationale
is that not every write request is a write op that needs to be prefixed
(e.g. watch op), so the num_ops logic needs to be in the callers.
Signed-off-by: Ilya
. This posting is simply to reflect the state of the
series after a thorough review by Alex.
Thanks,
Ilya
Ilya Dryomov (5):
libceph: encode CEPH_OSD_OP_FLAG_* op flags
libceph: add support for CEPH_OSD_OP_SETALLOCHINT osd op
libceph: bump CEPH_OSD_MAX_OP to 3
rbd: num_ops
Encode ceph_osd_op::flags field so that it gets sent over the wire.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
Reviewed-by: Sage Weil s...@inktank.com
Reviewed-by: Alex Elder el...@linaro.org
---
include/linux/ceph/osd_client.h |1 +
include/linux/ceph/rados.h |2 +-
net
://tracker.ceph.com/issues/7327
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
drivers/block/rbd.c |9 -
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index b365e0dfccb6..53d492e83586 100644
--- a/drivers/block/rbd.c
+++ b/drivers
On Mon, Mar 3, 2014 at 11:59 PM, Alex Elder el...@ieee.org wrote:
On 03/03/2014 09:38 AM, Ilya Dryomov wrote:
Doing rbd_obj_request_put() in rbd_img_request_fill() error paths is
not only insufficient, but also triggers an rbd_assert() in
rbd_obj_request_destroy():
Assertion failure
On Wed, Mar 5, 2014 at 6:04 PM, Casey Bodley ca...@linuxbox.com wrote:
Hi Ilya,
Regarding the CMake blueprint at
http://wiki.ceph.com/Planning/Blueprints/Giant/CMake, we at The Linux Box are
excited to see more interest! I know that we've made several improvements to
the CMakeLists on
was seeing PGs stuck in active+remapped
after reweight-by-utilization because the up set mapped to a single OSD.
Reflects ceph.git commit a8e6c9fbf88bad056dd05d3eb790e98a5e43451a.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/crush/crush.h |6 ++
net/ceph/crush
commit 795704fd615f0b008dcc81aa088a859b2d075138.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
net/ceph/crush/mapper.c | 46 +++---
1 file changed, 27 insertions(+), 19 deletions(-)
diff --git a/net/ceph/crush/mapper.c b/net/ceph/crush/mapper.c
Add TUNABLES3 feature (chooseleaf_vary_r tunable) to a set of features
supported by default.
Signed-off-by: Ilya Dryomov ilya.dryo...@inktank.com
---
include/linux/ceph/ceph_features.h | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/include/linux/ceph
1 - 100 of 510 matches
Mail list logo