-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
* GPL HEADER START
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2011, Whamcloud, Inc.
+ * Copyright (c) 2011, 2012, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
struct intnl_stat *st = llu_i2stat(inode);
struct ptlrpc_request *request;
struct lookup_intent *it;
- struct lov_stripe_md *lsm;
int rc = 0;
ENTRY;
if (!S_ISREG(st->st_mode))
GOTO(out_release, rc = 0);
- lsm = lli->lli_smd;
- if (lsm)
+ if (lli->lli_has_smd)
flags &= ~O_LOV_DELAY_CREATE;
/*XXX: open_flags are overwritten and the previous ones are lost */
lli->lli_open_flags = flags & ~(O_CREAT | O_EXCL | O_TRUNC);
oa->o_seq = lsm->lsm_object_seq;
oa->o_mode = body->mode & S_IFMT;
oa->o_valid = OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLGROUP;
- obdo_from_inode(oa, NULL, &llu_i2info(dir)->lli_fid, 0);
-
+ obdo_set_parent_fid(oa, &llu_i2info(dir)->lli_fid);
if (body->valid & OBD_MD_FLCOOKIE) {
oa->o_valid |= OBD_MD_FLCOOKIE;
oti.oti_logcookies =
}
}
- rc = obd_destroy(llu_i2obdexp(dir), oa, lsm, &oti, NULL, NULL);
+ rc = obd_destroy(NULL, llu_i2obdexp(dir), oa, lsm, &oti, NULL, NULL);
OBDO_FREE(oa);
if (rc)
CERROR("obd destroy objid 0x"LPX64" error %d\n",
old_flags & MF_GETATTR_LOCK);
if (rc) {
oa.o_valid = 0;
- if (rc == -ENOENT)
- CDEBUG(D_INODE, "objid "LPX64" is destroyed\n",
- lli->lli_smd->lsm_object_id);
- else
+ if (rc != -ENOENT)
CERROR("inode_getattr failed (%d): unable to "
"send a Size-on-MDS attribute update "
"for inode %llu/%lu\n", rc,