Lines Matching refs:inode

156 	struct inode *root = NULL;
491 /* make root inode
523 CERROR("failed to understand root inode md: rc = %d\n", err);
676 static void ll_dump_inode(struct inode *inode)
681 LASSERT(inode != NULL);
683 ll_d_hlist_for_each(tmp, &inode->i_dentry)
686 CERROR("inode %p dump: dev=%s ino=%lu mode=%o count=%u, %d dentries\n",
687 inode, ll_i2mdexp(inode)->exp_obd->obd_name, inode->i_ino,
688 inode->i_mode, atomic_read(&inode->i_count), dentry_count);
701 CERROR("dentry %p dump: name=%.*s parent=%.*s (%p), inode=%p, count=%u,"
1147 struct inode *ll_inode_from_resource_lock(struct ldlm_lock *lock)
1149 struct inode *inode = NULL;
1157 inode = igrab(lock->l_resource->lr_lvb_inode);
1159 inode = lock->l_resource->lr_lvb_inode;
1160 LDLM_DEBUG_LIMIT(inode->i_state & I_FREEING ? D_INFO :
1165 inode = NULL;
1169 return inode;
1172 void ll_clear_inode(struct inode *inode)
1174 struct ll_inode_info *lli = ll_i2info(inode);
1175 struct ll_sb_info *sbi = ll_i2sbi(inode);
1177 CDEBUG(D_VFSTRACE, "VFS Op:inode=%lu/%u(%p)\n", inode->i_ino,
1178 inode->i_generation, inode);
1180 if (S_ISDIR(inode->i_mode)) {
1188 ll_i2info(inode)->lli_flags &= ~LLIF_MDS_SIZE_LOCK;
1190 md_null_inode(sbi->ll_md_exp, ll_inode2fid(inode));
1197 ll_md_real_close(inode, FMODE_WRITE);
1199 ll_md_real_close(inode, FMODE_EXEC);
1201 ll_md_real_close(inode, FMODE_READ);
1203 if (S_ISLNK(inode->i_mode) && lli->lli_symlink_name) {
1209 ll_xattr_cache_destroy(inode);
1228 ll_clear_inode_capas(inode);
1229 if (!S_ISDIR(inode->i_mode))
1234 * cl_object still uses inode lsm.
1236 cl_inode_fini(inode);
1244 struct inode *inode = dentry->d_inode;
1245 struct ll_sb_info *sbi = ll_i2sbi(inode);
1249 op_data = ll_prep_md_op_data(op_data, inode, NULL, NULL, 0, 0,
1259 clear_nlink(inode);
1262 if (!S_ISREG(inode->i_mode) &&
1263 !S_ISDIR(inode->i_mode)) {
1283 /* inode size will be in ll_setattr_ost, can't do it now since dirty
1293 ll_update_inode(inode, &md);
1300 static int ll_setattr_done_writing(struct inode *inode,
1304 struct ll_inode_info *lli = ll_i2info(inode);
1308 if (!S_ISREG(inode->i_mode))
1315 ll_done_writing_attr(inode, op_data);
1316 ll_pack_inode2opdata(inode, op_data, NULL);
1318 rc = md_done_writing(ll_i2sbi(inode)->ll_md_exp, op_data, mod);
1322 rc = ll_som_update(inode, op_data);
1324 CERROR("inode %lu mdc truncate failed: rc = %d\n",
1325 inode->i_ino, rc);
1330 static int ll_setattr_ost(struct inode *inode, struct iattr *attr)
1336 capa = ll_osscapa_get(inode, CAPA_OPC_OSS_TRUNC);
1338 capa = ll_mdscapa_get(inode);
1340 rc = cl_setattr_ost(inode, attr, capa);
1351 /* If this inode has objects allocated to it (lsm != NULL), then the OST
1368 struct inode *inode = dentry->d_inode;
1369 struct ll_inode_info *lli = ll_i2info(inode);
1376 "%s: setattr inode %p/fid:"DFID
1378 ll_get_fsname(inode->i_sb, NULL, 0), inode,
1379 PFID(&lli->lli_fid), i_size_read(inode), attr->ia_size,
1384 rc = inode_newsize_ok(inode, attr->ia_size);
1391 if (attr->ia_size > ll_file_maxbytes(inode)) {
1394 ll_file_maxbytes(inode));
1403 if ((!uid_eq(current_fsuid(), inode->i_uid)) &&
1444 if (!S_ISDIR(inode->i_mode)) {
1446 inode_dio_write_done(inode);
1447 mutex_unlock(&inode->i_mutex);
1453 if (exp_connect_som(ll_i2mdexp(inode)) &&
1461 if (S_ISREG(inode->i_mode)) {
1465 ll_layout_refresh(inode, &gen);
1466 lsm = ccc_inode_lsm_get(inode);
1469 ccc_inode_lsm_put(inode, lsm);
1500 if (!S_ISREG(inode->i_mode)) {
1513 * time de-synchronization between MDT inode and OST objects */
1516 rc = ll_setattr_ost(inode, attr);
1522 rc1 = ll_setattr_done_writing(inode, op_data, mod);
1528 if (!S_ISDIR(inode->i_mode)) {
1529 mutex_lock(&inode->i_mutex);
1531 inode_dio_wait(inode);
1534 ll_stats_ops_tally(ll_i2sbi(inode), (attr->ia_valid & ATTR_SIZE) ?
1658 void ll_inode_size_lock(struct inode *inode)
1662 LASSERT(!S_ISDIR(inode->i_mode));
1664 lli = ll_i2info(inode);
1668 void ll_inode_size_unlock(struct inode *inode)
1672 lli = ll_i2info(inode);
1676 void ll_update_inode(struct inode *inode, struct lustre_md *md)
1678 struct ll_inode_info *lli = ll_i2info(inode);
1681 struct ll_sb_info *sbi = ll_i2sbi(inode);
1687 cl_file_inode_init(inode, md);
1696 ll_update_remote_perm(inode, md->remote_perm);
1707 inode->i_ino = cl_fid_build_ino(&body->fid1,
1709 inode->i_generation = cl_fid_build_gen(&body->fid1);
1712 if (body->atime > LTIME_S(inode->i_atime))
1713 LTIME_S(inode->i_atime) = body->atime;
1717 if (body->mtime > LTIME_S(inode->i_mtime)) {
1719 inode->i_ino, LTIME_S(inode->i_mtime),
1721 LTIME_S(inode->i_mtime) = body->mtime;
1726 if (body->ctime > LTIME_S(inode->i_ctime))
1727 LTIME_S(inode->i_ctime) = body->ctime;
1731 inode->i_mode = (inode->i_mode & S_IFMT)|(body->mode & ~S_IFMT);
1733 inode->i_mode = (inode->i_mode & ~S_IFMT)|(body->mode & S_IFMT);
1734 LASSERT(inode->i_mode != 0);
1735 if (S_ISREG(inode->i_mode)) {
1736 inode->i_blkbits = min(PTLRPC_MAX_BRW_BITS + 1, LL_MAX_BLKSIZE_BITS);
1738 inode->i_blkbits = inode->i_sb->s_blocksize_bits;
1741 inode->i_uid = make_kuid(&init_user_ns, body->uid);
1743 inode->i_gid = make_kgid(&init_user_ns, body->gid);
1745 inode->i_flags = ll_ext_to_inode_flags(body->flags);
1747 set_nlink(inode, body->nlink);
1749 inode->i_rdev = old_decode_dev(body->rdev);
1756 " to the "DFID", inode %lu/%u(%p)\n",
1758 inode->i_ino, inode->i_generation, inode);
1766 if (exp_connect_som(ll_i2mdexp(inode)) &&
1767 S_ISREG(inode->i_mode)) {
1775 mode = ll_take_md_lock(inode, MDS_INODELOCK_UPDATE,
1786 inode->i_ino, lli->lli_flags);
1790 i_size_write(inode, body->size);
1800 i_size_write(inode, body->size);
1802 CDEBUG(D_VFSTRACE, "inode=%lu, updating i_size %llu\n",
1803 inode->i_ino, (unsigned long long)body->size);
1807 inode->i_blocks = body->blocks;
1812 ll_add_capa(inode, md->mds_capa);
1816 ll_add_capa(inode, md->oss_capa);
1825 void ll_read_inode2(struct inode *inode, void *opaque)
1828 struct ll_inode_info *lli = ll_i2info(inode);
1830 CDEBUG(D_VFSTRACE, "VFS Op:inode="DFID"(%p)\n",
1831 PFID(&lli->lli_fid), inode);
1835 /* Core attributes from the MDS first. This is a new inode, and
1836 * the VFS doesn't zero times in the core inode so we have to do
1839 LTIME_S(inode->i_mtime) = 0;
1840 LTIME_S(inode->i_atime) = 0;
1841 LTIME_S(inode->i_ctime) = 0;
1842 inode->i_rdev = 0;
1843 ll_update_inode(inode, md);
1845 /* OIDEBUG(inode); */
1848 inode->i_mapping->backing_dev_info = &s2lsi(inode->i_sb)->lsi_bdi;
1851 if (S_ISREG(inode->i_mode)) {
1852 struct ll_sb_info *sbi = ll_i2sbi(inode);
1853 inode->i_op = &ll_file_inode_operations;
1854 inode->i_fop = sbi->ll_fop;
1855 inode->i_mapping->a_ops = (struct address_space_operations *)&ll_aops;
1856 } else if (S_ISDIR(inode->i_mode)) {
1857 inode->i_op = &ll_dir_inode_operations;
1858 inode->i_fop = &ll_dir_operations;
1859 } else if (S_ISLNK(inode->i_mode)) {
1860 inode->i_op = &ll_fast_symlink_inode_operations;
1862 inode->i_op = &ll_special_inode_operations;
1864 init_special_inode(inode, inode->i_mode,
1865 inode->i_rdev);
1869 void ll_delete_inode(struct inode *inode)
1871 struct cl_inode_info *lli = cl_i2info(inode);
1873 if (S_ISREG(inode->i_mode) && lli->lli_clob != NULL)
1876 cl_sync_file_range(inode, 0, OBD_OBJECT_EOF,
1879 truncate_inode_pages_final(&inode->i_data);
1882 if (inode->i_data.nrpages) {
1883 TREE_READ_LOCK_IRQ(&inode->i_data);
1884 TREE_READ_UNLOCK_IRQ(&inode->i_data);
1885 LASSERTF(inode->i_data.nrpages == 0,
1886 "inode=%lu/%u(%p) nrpages=%lu, see "
1888 inode->i_ino, inode->i_generation, inode,
1889 inode->i_data.nrpages);
1893 ll_clear_inode(inode);
1894 clear_inode(inode);
1897 int ll_iocontrol(struct inode *inode, struct file *file,
1900 struct ll_sb_info *sbi = ll_i2sbi(inode);
1909 op_data = ll_prep_md_op_data(NULL, inode, NULL, NULL,
1919 CERROR("failure %d inode %lu\n", rc, inode->i_ino);
1939 op_data = ll_prep_md_op_data(NULL, inode, NULL, NULL, 0, 0,
1953 inode->i_flags = ll_ext_to_inode_flags(flags);
1955 lsm = ccc_inode_lsm_get(inode);
1957 ccc_inode_lsm_put(inode, lsm);
1963 ccc_inode_lsm_put(inode, lsm);
1971 oinfo.oi_capa = ll_mdscapa_get(inode);
1972 obdo_set_parent_fid(oinfo.oi_oa, &ll_i2info(inode)->lli_fid);
1976 ccc_inode_lsm_put(inode, lsm);
1990 int ll_flush_ctx(struct inode *inode)
1992 struct ll_sb_info *sbi = ll_i2sbi(inode);
2082 int ll_prep_inode(struct inode **inode, struct ptlrpc_request *req,
2089 LASSERT(*inode || sb);
2090 sbi = sb ? ll_s2sbi(sb) : ll_i2sbi(*inode);
2096 if (*inode) {
2097 ll_update_inode(*inode, &md);
2107 *inode = ll_iget(sb, cl_fid_build_ino(&md.body->fid1,
2110 if (*inode == NULL || IS_ERR(*inode)) {
2117 rc = IS_ERR(*inode) ? PTR_ERR(*inode) : -ENOMEM;
2118 *inode = NULL;
2126 * The lsm can be applied to inode only if it comes with a layout lock
2144 conf.coc_inode = *inode;
2147 (void)ll_layout_conf(*inode, &conf);
2159 int ll_obd_statfs(struct inode *inode, void *arg)
2169 if (!inode || !(sbi = ll_i2sbi(inode))) {
2244 struct inode *i1, struct inode *i2,
2346 int ll_get_obd_name(struct inode *inode, unsigned int cmd, unsigned long arg)
2348 struct ll_sb_info *sbi = ll_i2sbi(inode);