Whamcloud - gitweb
LU-3448 llite: call simple_setattr() from ll_md_setattr()
[fs/lustre-release.git] / lustre / llite / llite_lib.c
index 39db99e..f84271f 100644 (file)
@@ -99,16 +99,13 @@ static struct ll_sb_info *ll_init_sbi(void)
                lru_page_max = (pages / 4) * 3;
        }
 
-       /* initialize ll_cache data */
+       /* initialize lru data */
        cfs_atomic_set(&sbi->ll_cache.ccc_users, 0);
        sbi->ll_cache.ccc_lru_max = lru_page_max;
        cfs_atomic_set(&sbi->ll_cache.ccc_lru_left, lru_page_max);
        spin_lock_init(&sbi->ll_cache.ccc_lru_lock);
        CFS_INIT_LIST_HEAD(&sbi->ll_cache.ccc_lru);
 
-       cfs_atomic_set(&sbi->ll_cache.ccc_unstable_nr, 0);
-       cfs_waitq_init(&sbi->ll_cache.ccc_unstable_waitq);
-
         sbi->ll_ra_info.ra_max_pages_per_file = min(pages / 32,
                                            SBI_DEFAULT_READAHEAD_MAX);
         sbi->ll_ra_info.ra_max_pages = sbi->ll_ra_info.ra_max_pages_per_file;
@@ -532,7 +529,7 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt,
 
         LASSERT(fid_is_sane(&sbi->ll_root_fid));
        root = ll_iget(sb, cl_fid_build_ino(&sbi->ll_root_fid,
-                                           ll_need_32bit_api(sbi)),
+                                           sbi->ll_flags & LL_SBI_32BIT_API),
                       &lmd);
         md_free_lustre_md(sbi->ll_md_exp, &lmd);
         ptlrpc_req_finished(request);
@@ -1094,7 +1091,7 @@ void ll_put_super(struct super_block *sb)
         struct lustre_sb_info *lsi = s2lsi(sb);
         struct ll_sb_info *sbi = ll_s2sbi(sb);
         char *profilenm = get_profile_name(sb);
-       int ccc_count, next, force = 1, rc = 0;
+        int force = 1, next;
         ENTRY;
 
         CDEBUG(D_VFSTRACE, "VFS Op: sb %p - %s\n", sb, profilenm);
@@ -1110,19 +1107,6 @@ void ll_put_super(struct super_block *sb)
                         force = obd->obd_force;
         }
 
-       /* Wait for unstable pages to be committed to stable storage */
-       if (force == 0) {
-               struct l_wait_info lwi = LWI_INTR(LWI_ON_SIGNAL_NOOP, NULL);
-               rc = l_wait_event(sbi->ll_cache.ccc_unstable_waitq,
-                       cfs_atomic_read(&sbi->ll_cache.ccc_unstable_nr) == 0,
-                       &lwi);
-       }
-
-       ccc_count = cfs_atomic_read(&sbi->ll_cache.ccc_unstable_nr);
-       if (force == 0 && rc != -EINTR)
-               LASSERTF(ccc_count == 0, "count: %i\n", ccc_count);
-
-
         /* We need to set force before the lov_disconnect in
            lustre_common_put_super, since l_d cleans up osc's as well. */
         if (force) {
@@ -1755,7 +1739,8 @@ void ll_update_inode(struct inode *inode, struct lustre_md *md)
                spin_unlock(&lli->lli_lock);
        }
 #endif
-       inode->i_ino = cl_fid_build_ino(&body->fid1, ll_need_32bit_api(sbi));
+       inode->i_ino = cl_fid_build_ino(&body->fid1,
+                                       sbi->ll_flags & LL_SBI_32BIT_API);
         inode->i_generation = cl_fid_build_gen(&body->fid1);
 
         if (body->valid & OBD_MD_FLATIME) {
@@ -2006,8 +1991,10 @@ int ll_iocontrol(struct inode *inode, struct file *file,
                inode->i_flags = ll_ext_to_inode_flags(flags);
 
                lsm = ccc_inode_lsm_get(inode);
-               if (lsm == NULL)
+               if (!lsm_has_objects(lsm)) {
+                       ccc_inode_lsm_put(inode, lsm);
                        RETURN(0);
+               }
 
                OBDO_ALLOC(oinfo.oi_oa);
                if (!oinfo.oi_oa) {
@@ -2184,7 +2171,7 @@ int ll_prep_inode(struct inode **inode, struct ptlrpc_request *req,
                 LASSERT(fid_is_sane(&md.body->fid1));
 
                *inode = ll_iget(sb, cl_fid_build_ino(&md.body->fid1,
-                                                     ll_need_32bit_api(sbi)),
+                                            sbi->ll_flags & LL_SBI_32BIT_API),
                                 &md);
                 if (*inode == NULL || IS_ERR(*inode)) {
 #ifdef CONFIG_FS_POSIX_ACL