/*
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright (c) 2011, 2012, Whamcloud, Inc.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
if (lsm != NULL) {
if (lli->lli_smd == NULL) {
- cl_inode_init(inode, md);
+ cl_file_inode_init(inode, md);
lli->lli_smd = lsm;
lli->lli_maxbytes = lsm->lsm_maxbytes;
- if (lli->lli_maxbytes > PAGE_CACHE_MAXBYTES)
- lli->lli_maxbytes = PAGE_CACHE_MAXBYTES;
+ if (lli->lli_maxbytes > MAX_LFS_FILESIZE)
+ lli->lli_maxbytes = MAX_LFS_FILESIZE;
} else {
if (lov_stripe_md_cmp(lli->lli_smd, lsm)) {
CERROR("lsm mismatch for inode %lld\n",
OBD_MD_FLSIZE;
obdo_refresh_inode(inode, oinfo.oi_oa, oinfo.oi_oa->o_valid);
- CDEBUG(D_INODE, "objid "LPX64" size %Lu, blocks %Lu, "
- "blksize %Lu\n", lli->lli_smd->lsm_object_id,
+ CDEBUG(D_INODE, "objid "LPX64" size %llu, blocks %llu, "
+ "blksize %llu\n", lli->lli_smd->lsm_object_id,
(long long unsigned)llu_i2stat(inode)->st_size,
(long long unsigned)llu_i2stat(inode)->st_blocks,
(long long unsigned)llu_i2stat(inode)->st_blksize);
int async = 1, err = -EINVAL;
struct obd_connect_data ocd = {0,};
struct md_op_data op_data = {{0}};
+ /* %p for void* in printf needs 16+2 characters: 0xffffffffffffffff */
+ const int instlen = sizeof(cfg.cfg_instance) * 2 + 2;
ENTRY;
CERROR("No profile found: %s\n", zconf_profile);
GOTO(out_free, err = -EINVAL);
}
- OBD_ALLOC(osc, strlen(lprof->lp_dt) + sizeof(cfg.cfg_instance)*2 + 1);
+ OBD_ALLOC(osc, strlen(lprof->lp_dt) + instlen + 2);
sprintf(osc, "%s-%p", lprof->lp_dt, cfg.cfg_instance);
- OBD_ALLOC(mdc, strlen(lprof->lp_md) + sizeof(cfg.cfg_instance)*2 + 1);
+ OBD_ALLOC(mdc, strlen(lprof->lp_md) + instlen + 2);
sprintf(mdc, "%s-%p", lprof->lp_md, cfg.cfg_instance);
if (!osc) {
ptlrpc_req_finished(request);
CDEBUG(D_SUPER, "LibLustre: %s mounted successfully!\n", source);
- liblustre_wait_idle();
-
- return 0;
+ err = 0;
+ goto out_free;
out_inode:
_sysio_i_gone(root);
obd_disconnect(sbi->ll_md_exp);
out_free:
if (osc)
- OBD_FREE(osc, strlen(osc) + 1);
+ OBD_FREE(osc, strlen(lprof->lp_dt) + instlen + 2);
if (mdc)
- OBD_FREE(mdc, strlen(mdc) + 1);
+ OBD_FREE(mdc, strlen(lprof->lp_md) + instlen + 2);
OBD_FREE(sbi, sizeof(*sbi));
liblustre_wait_idle();
return err;