From: alebre <al...@us...> - 2010-12-20 15:33:58
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "kdfs". The branch, make_kdfs_compile has been updated via 8d8c25a410ddabb5c0165caa6dc42e878e4644fa (commit) from 8bb8fee611cfe981850e8752ac394f6af4716f64 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 8d8c25a410ddabb5c0165caa6dc42e878e4644fa Author: ad <leb...@fr...> Date: Mon Dec 20 16:33:09 2010 +0000 Some Fixes - Adrien/Marko diff --git a/fs/kdfs/address_space.c b/fs/kdfs/address_space.c index 8ba57c0..a604aa5 100644 --- a/fs/kdfs/address_space.c +++ b/fs/kdfs/address_space.c @@ -207,8 +207,10 @@ int __kdfs_commit_write(struct file *file, kdfs_distmark_page_dirty(k_inode, page->index); _kdfs_put_page((struct kdfs_page*)page->private); - // TODO: Why synchronize the inode at each page modification, I presume that it should be done - kdfs_mark_inode_dirty(k_inode); + // TODO, NOW Adrien Fix that point ASAP (the inode is currently not synchronized) + // Why synchronize the inode at each page modification, I presume that it should be done + // not for each page but at the higher level (write/read/..... functions) + // kdfs_mark_inode_dirty(k_inode); kdfs_iput(k_inode->inode->i_ino); PRINT_FUNCTION_EXIT; diff --git a/fs/kdfs/file.c b/fs/kdfs/file.c index 4f6b131..74fd1a1 100644 --- a/fs/kdfs/file.c +++ b/fs/kdfs/file.c @@ -231,7 +231,7 @@ kddm_set_t *create_file_kddm_set(struct kdfs_inode *k_inode) #endif if (!IS_ERR(kddm_set)) { k_inode->content_setid=kddm_set->id; - DEBUG(DBG_INFO, "Create content kddm_set for file %s (inode %ld) with id %ld\n", + DEBUG(DBG_INFO, "Create content kddm_set for file %s (inode %ld) with id %lu\n", list_entry(k_inode->inode->i_dentry.next, struct dentry, d_alias)->d_name.name, k_inode->inode->i_ino, k_inode->content_setid); } else { diff --git a/fs/kdfs/inode.c b/fs/kdfs/inode.c index 880d0ab..072b18f 100644 --- a/fs/kdfs/inode.c +++ b/fs/kdfs/inode.c @@ -149,7 +149,6 @@ struct kdfs_inode *__kdfs_mknod(struct kdfs_inode *k_pdir, /* Get an inode ID */ ino = kdfs_get_freeino(k_sb); - // TODO PRIORITY 2 Adrien put here or later __kdfs_putsb(k_sb); k_nnod = kdfs_icreate(ino); /* get a kDFS inode from the kDDM set (k_inode is lock)*/ @@ -294,11 +293,6 @@ int kdfs_create(struct inode *dir, struct dentry *dentry, int kdfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) { int err = 0; - /* - * TODO Adrien, NOW - * Fix err when kdfs_igrab or __mkknod crash - */ - struct kdfs_inode *k_pdir, *k_nnod; DEBUG(DBG_TRACE, @@ -332,7 +326,6 @@ int kdfs_mkdir(struct inode *dir, struct dentry *dentry, int mode) "mkdir %s done: res = %d\n", dentry->d_name.name, err); return err; - } /* @@ -377,7 +370,7 @@ int kdfs_symlink(struct inode *dir, struct dentry *dentry, const char *symname) } else { /* Get the first file page to write the symb link into */ create_file_kddm_set(k_nnod); - k_page = kdfs_grab_page(k_nnod->content_setid, 0); + k_page = kdfs_distgrab_page(k_nnod->content_setid, 0); if (IS_ERR(k_page)) DEBUG (DBG_PANIC, "Can't grab page for newnode %ld (contentset_id %ld)\n", diff --git a/fs/kdfs/super.c b/fs/kdfs/super.c index d68c0be..7506a1d 100644 --- a/fs/kdfs/super.c +++ b/fs/kdfs/super.c @@ -1743,15 +1743,10 @@ void kdfs_removesb(unsigned long sbid) struct kdfs_super_block *kdfs_twice_grabsb(unsigned long sbid) { struct kdfs_generic_sb *kgsb = kddm_find_object(kddm_def_ns, KDFS_SB_KDDM_ID, sbid); - struct kdfs_super_block *k_sb = NULL; if (!kgsb) - return NULL; - k_sb = kgsb->real_sb; - if (!k_sb) { kgsb = kddm_grab_object(kddm_def_ns, KDFS_SB_KDDM_ID, sbid); - k_sb = kgsb->real_sb; - } - return k_sb; + + return kgsb->real_sb; } /* @@ -1762,12 +1757,9 @@ struct kdfs_super_block *kdfs_twice_grabsb(unsigned long sbid) struct kdfs_super_block *kdfs_twice_getsb(unsigned long sbid) { struct kdfs_generic_sb *kgsb = kddm_find_object(kddm_def_ns, KDFS_SB_KDDM_ID, sbid); - struct kdfs_super_block *k_sb = kgsb->real_sb; - if (!k_sb) { + if (!kgsb) kgsb = kddm_get_object(kddm_def_ns, KDFS_SB_KDDM_ID, sbid); - k_sb = kgsb->real_sb; - } - return k_sb; + return kgsb->real_sb; } /* Release a copy */ diff --git a/kddm/kddm_set.c b/kddm/kddm_set.c index 4443dd6..38a7574 100644 --- a/kddm/kddm_set.c +++ b/kddm/kddm_set.c @@ -787,7 +787,7 @@ void kddm_set_init() kddm_tree_lvl_cachep = KMEM_CACHE(kddm_tree_lvl, SLAB_PANIC); __rpc_register(REQ_KDDM_SET_LOOKUP, - RPC_TARGET_NODE, RPC_HANDLER_KTHREAD_VOID, + RPC_TARGET_NODE, RPC_HANDLER_KTHREAD_VOID, kddm_server, handle_req_kddm_set_lookup, 0); __rpc_register(REQ_KDDM_CHANGE_MGR, @@ -796,8 +796,8 @@ void kddm_set_init() __rpc_register(REQ_KDDM_SET_DESTROY, // Change proposed by Louis Rilling - // RPC_TARGET_NODE, RPC_HANDLER_KTHREAD_VOID, - RPC_TARGET_NODE, RPC_HANDLER_KTHREAD_INT, + // RPC_TARGET_NODE, RPC_HANDLER_KTHREAD_INT, + RPC_TARGET_NODE, RPC_HANDLER_KTHREAD_VOID, kddm_server, handle_req_kddm_set_destroy, 0); ----------------------------------------------------------------------- Summary of changes: fs/kdfs/address_space.c | 6 ++++-- fs/kdfs/file.c | 2 +- fs/kdfs/inode.c | 9 +-------- fs/kdfs/super.c | 16 ++++------------ kddm/kddm_set.c | 6 +++--- 5 files changed, 13 insertions(+), 26 deletions(-) hooks/post-receive -- kdfs |