From 098dd09d463e5e27e1dd021be29d4b4be8f83b4b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 18 Jan 2008 12:29:13 -0800 Subject: [PATCH] fixed inode cap init bug --- src/kernel/inode.c | 9 --------- src/kernel/super.c | 10 ++++++++++ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/kernel/inode.c b/src/kernel/inode.c index 5ff9c9f4326eb..03110bff27bca 100644 --- a/src/kernel/inode.c +++ b/src/kernel/inode.c @@ -73,15 +73,6 @@ int ceph_fill_inode(struct inode *inode, struct ceph_mds_reply_inode *info) ci->i_frag_map[0].frag = 0; ci->i_frag_map[0].mds = 0; // FIXME - ci->i_nr_caps = 0; - for (i=0; i<4; i++) - ci->i_nr_by_mode[i] = 0; - ci->i_cap_wanted = 0; - - ci->i_wr_size = 0; - ci->i_wr_mtime.tv_sec = 0; - ci->i_wr_mtime.tv_nsec = 0; - ci->i_old_atime = inode->i_atime; inode->i_mapping->a_ops = &ceph_aops; diff --git a/src/kernel/super.c b/src/kernel/super.c index 20e6b5bdc9769..93ea04c3b49c8 100644 --- a/src/kernel/super.c +++ b/src/kernel/super.c @@ -93,6 +93,8 @@ static struct kmem_cache *ceph_inode_cachep; static struct inode *ceph_alloc_inode(struct super_block *sb) { struct ceph_inode_info *ci; + int i; + ci = kmem_cache_alloc(ceph_inode_cachep, GFP_KERNEL); if (!ci) return NULL; @@ -112,6 +114,14 @@ static struct inode *ceph_alloc_inode(struct super_block *sb) ci->i_caps = ci->i_caps_static; atomic_set(&ci->i_cap_count, 0); + for (i=0; i<4; i++) + ci->i_nr_by_mode[i] = 0; + ci->i_cap_wanted = 0; + + ci->i_wr_size = 0; + ci->i_wr_mtime.tv_sec = 0; + ci->i_wr_mtime.tv_nsec = 0; + return &ci->vfs_inode; } -- 2.39.5