From 220a14661dd952371227ef8004d3c6272278ec59 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 21 Jan 2008 08:58:52 -0800 Subject: [PATCH] more todos --- src/TODO | 16 +++++----------- src/kernel/file.c | 7 +++++-- src/start.sh | 2 +- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/TODO b/src/TODO index 44d46e14c5f3f..fec49c7ca67f8 100644 --- a/src/TODO +++ b/src/TODO @@ -21,22 +21,16 @@ code cleanup kernel client - msgr layer - - clean up ceph_send_fault - - more testing - - callbacks for 'remote reset' (once 'caps' branch is merged in) - - - TCP_CLOSE case in callback.. should it set CLOSED bit? - - ceph_queue_read .. check READING bit? - - - + - callbacks for 'remote reset' + - idle state, to keep connect_seq around after a disconnect - audit locking - audit use of kmalloc vs spinlocks - convert most everything in ceph_fs.h to le32/le64 notation, cleaning up userspace appropriately - vfs + - generate paths relative to the appropriate vfsmount root - getattr should do an lstat? - - d_revalidate.. + - d_revalidate? - test truncate - - fix open: it really shouldn't blindly use existing caps (except for O_DIRECTORY on root?) - mds client / - handle file caps, ack back to mds, etc. - actually flush dirty data, too @@ -45,7 +39,7 @@ kernel client - readpages (readahead) - async (caching) mode - sync mode (write-through) - - capability changes (flush) + - capability changes (flush.. need way to initiate/block on writeback initiated by mds) - osd ack vs commit handling. hmm! - handle map changes (resubmit ops) - mon client diff --git a/src/kernel/file.c b/src/kernel/file.c index e30b9ecff8575..edcfc263a8e24 100644 --- a/src/kernel/file.c +++ b/src/kernel/file.c @@ -50,13 +50,16 @@ struct ceph_inode_cap *ceph_do_open(struct inode *inode, struct file *file) int ceph_open(struct inode *inode, struct file *file) { struct ceph_inode_info *ci = ceph_inode(inode); - struct ceph_inode_cap *cap; + struct ceph_inode_cap *cap = 0; struct ceph_file_info *cf; int mode; int wanted; dout(5, "ceph_open inode %p (%lu) file %p\n", inode, inode->i_ino, file); - cap = ceph_find_cap(inode, 0); + /* + if (file->f_flags == O_DIRECTORY && ... ) + cap = ceph_find_cap(inode, 0); + */ if (!cap) { cap = ceph_do_open(inode, file); if (IS_ERR(cap)) diff --git a/src/start.sh b/src/start.sh index bf200ccfd0a8f..f77c005d50d63 100755 --- a/src/start.sh +++ b/src/start.sh @@ -6,4 +6,4 @@ ./cosd --mkfs --osd 1 & ./cosd --mkfs --osd 2 & ./cosd --mkfs --osd 3 & -./cmds --debug_ms 1 --debug_mds 10 & +./cmds & -- 2.39.5