Make install now installs the gui resource files into
/usr/share/cephtool/gui_resources (or wherever we configure it to go
using configure). We also support grabbing the resources out of the
local source tree, for when we're running the program from there.
run_gui: catch exceptions and explain what they are, rather than letting
them go to the top level.
GuiMonitor::open_icon: const cleanup.
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
This adds a graphical monitoring mode to the ceph cluster monitoring tool. Its
functionality is similar to ./ceph -w. With ./ceph -g, you can watch over the
whole cluster graphically. It uses GTK2.
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
Largely based on Linux's version. Includes the Signed-off-by stuff at
the top, and a bit more modern description of how to prepare/send patches
using git format-patch and send-email.
Signed-off-by: Sage Weil <sage@newdream.net>
Avoid having old handler pointer match the new handler.
Avoid calling an old handler if it pointer is null.
Signed-off-by: Sage Weil <sage@newdream.net>
This paves the way for a locator that lets the user specify an arbitrary
string to hash for placement (instead of the object name). It also
captures everything that would affect placement (pool, preferred, etc.)
in a single type.
Just the client side; no server side or protocol changes yet.
Signed-off-by: Sage Weil <sage@newdream.net>
The old check in handle_op doesn't work because we don't provide a snap
context on read, and we haven't loaded one off disk. Instead, handle
it in the pg queue worker. If find_object_context() returns EAGAIN, then
wait_for_missing_object.
Signed-off-by: Sage Weil <sage@newdream.net>
This avoids setting large xattrs. There's no reason the inode needs to be
on the same object as the dir(frag) data.
Signed-off-by: Sage Weil <sage@newdream.net>
Do not use an mdrequest; the old approach was totally broken wrt freezing,
locks, and deadlock.
First freeze, then lock, just like migration.
We still need to add a wrlock of the dirfragtreelock.
Signed-off-by: Sage Weil <sage@newdream.net>
We need a next_offset of 0 for non-leftmost frags. Otherwise we set
our dentry offsets incorrectly and the next_offset we return to teh readdir
callback doesn't line up. This was causing the first readdir on a large
multifrag directory to duplicate the last two items.
Signed-off-by: Sage Weil <sage@newdream.net>
on truncation.
truncate_size needs to precisely match the defaults on the MDS, or we run into
problems when importing new inodes. No idea why it was previously set
to not match.
If we don't think the inode has any size, it doesn't need to truncate either.
This should fix#518.