- small cleanups, more detailed error messages, fied error codes in ost_rec_create_pack(),
fixed mixed declations and non declation stuff in osc_get_info()
char dir[20];
snprintf(dir, sizeof(dir), "d%u", i);
- tmp_subdirs->dentry[i] =
- simple_mkdir(dentry, dir, 0700, 1);
+ tmp_subdirs->dentry[i] = simple_mkdir(dentry, dir, 0700, 1);
if (IS_ERR(tmp_subdirs->dentry[i])) {
rc = PTR_ERR(tmp_subdirs->dentry[i]);
CERROR("can't lookup/create O/%d/%s: rc = %d\n",
RETURN(rc);
}
-#if 0
-static int filter_group_set_fs_flags(struct obd_device *obd, int group)
-{
- struct filter_obd *filter = &obd->u.filter;
- int rc = 0, i = 0;
- ENTRY;
-
- /* zero group is not longer valid. */
- if (group== 0)
- RETURN(rc);
- for (i = 0; i < filter->fo_subdir_count; i++) {
- struct dentry *dentry;
- dentry = (filter->fo_subdirs + group)->dentry[i];
- rc = fsfilt_set_fs_flags(obd, dentry->d_inode,
- SM_DO_REC | SM_DO_COW);
- if (rc)
- RETURN(rc);
- }
- RETURN(rc);
-}
-#endif
-
static int filter_post_fs_setup(struct obd_device *obd)
{
struct filter_obd *filter = &obd->u.filter;
CERROR("can't read group %u\n", group);
GOTO(cleanup, rc);
}
-#if 0
- rc = filter_group_set_fs_flags(obd, group);
- if (rc != 0) {
- CERROR("can't set kml flags %u\n", group);
- GOTO(cleanup, rc);
- }
-#endif
cleanup:
if (rc) {
if (fcd)
portals_debug_dumpstack(NULL);
}
-
fsfilt_set_fs_flags(obd, dparent->d_inode, SM_DO_REC);
/* save last created object id */
}
flags = fsfilt_get_fs_flags(exp->exp_obd, dentry);
- if (!(flags & SM_DO_COW)) {
+ if (!(flags & SM_DO_COW))
GOTO(cleanup, rc);
- }
+
OBD_ALLOC(extents, obj->ioo_bufcnt * sizeof(struct write_extents));
if (!extents) {
CERROR("No Memory\n");
}
flags = fsfilt_get_fs_flags(exp->exp_obd, dentry);
- if (!(flags & SM_DO_REC)) {
+ if (!(flags & SM_DO_REC))
GOTO(cleanup, rc);
- }
for (i = 0, lnb = local; i < obj->ioo_bufcnt; i++, lnb++) {
if (len == 0) {
} else if (keylen == 10 && strcmp(key, "client_nid") == 0) {
struct ptlrpc_connection * conn;
ptl_nid_t * nid = val;
- *vallen = sizeof(*nid);
ptl_process_id_t id;
int rc;
+
+ *vallen = sizeof(*nid);
conn = class_exp2cliimp(exp)->imp_connection;
if (!conn || !conn->c_peer.peer_ni)
rc = fsfilt->fs_remove_extents_ea(inode, 0, 0xffffffff);
RETURN(rc);
}
+
static int smfs_init_extents_ea(struct inode *inode)
{
struct fsfilt_operations *fsfilt = S2SMI(inode->i_sb)->sm_fsfilt;
RETURN(rc);
}
+
static int smfs_set_dirty_flags(struct inode *inode, int flags)
{
struct fsfilt_operations *fsfilt = S2SMI(inode->i_sb)->sm_fsfilt;
static int smfs_ost_get_id(obd_id *id, char *data, int size)
{
- /*for obdfilter obdid is the name of the filename*/
+ /* for obdfilter obdid is the name of the filename */
char end;
char *endp = &end;
if (data)
oa->o_valid = OBD_MD_FLID | OBD_MD_FLGENER | OBD_MD_FLTYPE |
OBD_MD_FLMODE | OBD_MD_FLUID | OBD_MD_FLGID;
oa->o_size = 0;
- obdo_from_inode(oa, dentry->d_inode, OBD_MD_FLTYPE|OBD_MD_FLATIME|
- OBD_MD_FLMTIME| OBD_MD_FLCTIME);
- rc = smfs_ost_get_id(&oa->o_id, (char*)dentry->d_name.name,
+ obdo_from_inode(oa, dentry->d_inode, OBD_MD_FLTYPE | OBD_MD_FLATIME |
+ OBD_MD_FLMTIME | OBD_MD_FLCTIME);
+ rc = smfs_ost_get_id(&oa->o_id, (char *)dentry->d_name.name,
dentry->d_name.len);
if (rc) {
- CERROR("Can not find id of node %lu\n", dentry->d_inode->i_ino);
- GOTO(out, rc = -ENOMEM);
+ CERROR("can not find id of inode %lu, name %s\n",
+ dentry->d_inode->i_ino, (char *)dentry->d_name.name);
+ GOTO(out, rc);
}
rc = smfs_ost_get_group(dentry, oa);
if (rc) {
- CERROR("Can not find group node %lu\n", dentry->d_inode->i_ino);
- GOTO(out, rc = -ENOMEM);
+ CERROR("can not find group inode %lu, name %s\n",
+ dentry->d_inode->i_ino, (char *)dentry->d_name.name);
+ GOTO(out, rc);
}
}
rc = sizeof(*oa) + sizeof(int);
fsfilt_put_ops(smb->sm_fsfilt);
}
-static void smfs_filter_flags(struct filter_obd * filt, struct inode * o_dir)
+static void smfs_filter_flags(struct filter_obd *filt, struct inode *o_dir)
{
struct dentry * dentry = NULL;
int i,j;
CDEBUG(D_SUPER,"OST OBD post_setup\n");
+
/* enable plugins for all in O */
/* SMFS_SET(I2SMI(o_dir)->smi_flags, SMFS_PLG_ALL); */
+
/* enable plugins for all already created d<n> dirs */
for (j = 1; j < filt->fo_group_count; j++) {
for (i = 0; i < filt->fo_subdir_count; i++) {
static void smfs_mds_flags(struct mds_obd *mds, struct inode *root)
{
- struct inode *pend = mds->mds_pending_dir->d_inode;
-
CDEBUG(D_SUPER,"MDS OBD post_setup\n");
-
+
/* enable plugins for all in ROOT */
SMFS_SET(I2SMI(root)->smi_flags, SMFS_PLG_ALL);
-
- /* the same for PENDING */
- /* SMFS_SET(I2SMI(pend)->smi_flags, SMFS_PLG_ALL); */
}
extern int (*audit_id2name_superhack) (struct obd_device *obd, char **name,
OBD_FREE(smb->smsi_cache_ftype, strlen(typestr) + 1);
err_umount_cache:
mntput(mnt);
-
return err;
}