* [GIT PULL] Ceph updates for 3.1-rc1
@ 2011-07-26 20:36 Sage Weil
2011-07-31 18:35 ` Christoph Hellwig
0 siblings, 1 reply; 3+ messages in thread
From: Sage Weil @ 2011-07-26 20:36 UTC (permalink / raw)
To: torvalds; +Cc: linux-kernel, linux-fsdevel, ceph-devel
Hi Linus,
Please pull the following Ceph updates from
git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git for-linus
Lots of different things here. There is some code cleanup with the file
flags, a few snapshot metadata writeback fixes, a fix for unnecessary
timeouts on heavily loaded clusters, and a fix for dentry leases. There
are many fixes for bugs Al turned up: a fix and cleanup in the open intent
code, and several fixes for d_parent use without the appropriate locks (a
full code audit caught a few more). RBD devices now clean up on the
server when they are unmapped, rbd request sizes are now larger, and the
ceph readahead window is set up properly.
Thanks!
sage
Greg Farnum (1):
ceph: report f_bfree based on kb_avail rather than diffing.
Josh Durgin (1):
rbd: set blk_queue request sizes to object size
Sage Weil (19):
ceph: add flags field to file_info
ceph: add F_SYNC file flag to force sync (non-O_DIRECT) io
ceph: use flag bit for at_end readdir flag
ceph: fix snap writeback when racing with writes
ceph: only queue capsnap if caps are dirty
libceph: don't time out osd requests that haven't been received
ceph: avoid carrying Fw cap during write into page cache
ceph: fix bad parent_inode calc in ceph_lookup_open
ceph: only link open operations to directory unsafe list if O_CREAT|O_TRUNC
ceph: fix ceph_lookup_open intent usage
ceph: ignore lease mask
ceph: set dir complete frag after adding capability
ceph: handle racing calls to ceph_init_dentry
ceph: protect access to d_parent
ceph: protect d_parent access in ceph_d_revalidate
ceph: avoid d_parent in ceph_dentry_hash; fix ceph_encode_fh() hashing bug
ceph: document locking for ceph_set_dentry_offset
ceph: explicitly reference rename old_dentry parent dir in request
ceph: document unlocked d_parent accesses
Yehuda Sadeh (2):
rbd: cancel watch request when releasing the device
ceph: set up readahead size when rsize is not passed
drivers/block/rbd.c | 46 +++++++++++++++-
fs/ceph/debugfs.c | 2 +-
fs/ceph/dir.c | 116 +++++++++++++++++++++++++---------------
fs/ceph/export.c | 24 +++++---
fs/ceph/file.c | 61 +++++++++++++++------
fs/ceph/inode.c | 48 +++++++++-------
fs/ceph/ioctl.c | 15 +++++-
fs/ceph/ioctl.h | 1 +
fs/ceph/mds_client.c | 56 +++++++++++---------
fs/ceph/mds_client.h | 3 +-
fs/ceph/snap.c | 25 +++++++--
fs/ceph/super.c | 7 ++-
fs/ceph/super.h | 20 +++----
fs/ceph/xattr.c | 8 ++-
include/linux/ceph/messenger.h | 1 +
net/ceph/messenger.c | 12 ++---
net/ceph/osd_client.c | 6 ++
17 files changed, 306 insertions(+), 145 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL] Ceph updates for 3.1-rc1
2011-07-26 20:36 [GIT PULL] Ceph updates for 3.1-rc1 Sage Weil
@ 2011-07-31 18:35 ` Christoph Hellwig
2011-08-01 4:53 ` Sage Weil
0 siblings, 1 reply; 3+ messages in thread
From: Christoph Hellwig @ 2011-07-31 18:35 UTC (permalink / raw)
To: Sage Weil; +Cc: torvalds, linux-kernel, linux-fsdevel, ceph-devel
On Tue, Jul 26, 2011 at 01:36:37PM -0700, Sage Weil wrote:
> Sage Weil (19):
> ceph: add flags field to file_info
> ceph: add F_SYNC file flag to force sync (non-O_DIRECT) io
Can you document what the exact semantics of this flag are, and how
they different from using O_SYNC/O_DSYNC.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [GIT PULL] Ceph updates for 3.1-rc1
2011-07-31 18:35 ` Christoph Hellwig
@ 2011-08-01 4:53 ` Sage Weil
0 siblings, 0 replies; 3+ messages in thread
From: Sage Weil @ 2011-08-01 4:53 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: torvalds, linux-kernel, linux-fsdevel, ceph-devel
On Sun, 31 Jul 2011, Christoph Hellwig wrote:
> On Tue, Jul 26, 2011 at 01:36:37PM -0700, Sage Weil wrote:
> > Sage Weil (19):
> > ceph: add flags field to file_info
> > ceph: add F_SYNC file flag to force sync (non-O_DIRECT) io
>
> Can you document what the exact semantics of this flag are, and how
> they different from using O_SYNC/O_DSYNC.
I should document this... in the fs/ceph/ioctl.h? Not sure where this
normally goes.
The CEPH_F_SYNC flag forces synchronous reads/writes that bypass the page
cache. It's similar to O_DIRECT, but makes a copy of the data before
doing the IO and does not have the alignment restrictions.
The real value is that it forces us to take a code path that's hard to
trigger otherwise. When a single client writes to a file, we can do
buffered IO. Even with O_SYNC/D_SYNC this just causes a flush after every
write. When multiple clients open a file for read/write, though, ceph
bypasses the page cache and does synchronous IO to the server. It's
similar to the O_DIRECT path, but not quite, and doesn't get good test
coverage without an easy way to use it.
A ceph ioctl sets the CEPH_F_SYNC flag in the file private struct. It's
similar to the CEPH_F_LAZYIO ioctl, but with opposite results; that one
avoids sync io despite multi-client write sharing (for applications who
know what they're doing).
sage
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-08-01 4:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-26 20:36 [GIT PULL] Ceph updates for 3.1-rc1 Sage Weil
2011-07-31 18:35 ` Christoph Hellwig
2011-08-01 4:53 ` Sage Weil
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).