int rc = 0;
struct ptlrpc_request *request;
struct lustre_handle lockh;
+ struct mds_body *body;
struct lookup_intent it = {IT_READDIR};
ENTRY;
rc = mdc_readpage(&sbi->ll_mdc_conn, inode->i_ino,
S_IFDIR, offset, buf, &request);
kunmap(page);
+ body = lustre_msg_buf(request->rq_repmsg, 0);
+ if (!body)
+ rc = -EINVAL;
+ if (body)
+ inode->i_size = body->size;
ptlrpc_free_req(request);
EXIT;
ext2_dirent *de;
struct page *page = ext2_get_page(inode, n);
+ /* size might have been updated by mdc_readpage */
+ npages = dir_pages(inode);
+
if (IS_ERR(page))
continue;
kaddr = page_address(page);
filp->f_pos = (n << PAGE_CACHE_SHIFT) | offset;
filp->f_version = inode->i_version;
UPDATE_ATIME(inode);
- return 0;
+ RETURN(0);
}
/*