diff --git a/lustre/obdfilter/filter.c b/lustre/obdfilter/filter.c index 8b2793acc499a6b2f04163e9f4ff574b6c64ebae..aaa6b0477667a76d228301b5fcb19b33cb1f8d3c 100644 --- a/lustre/obdfilter/filter.c +++ b/lustre/obdfilter/filter.c @@ -695,8 +695,7 @@ static int filter_read_group_internal(struct obd_device *obd, int group, 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", @@ -1409,28 +1408,6 @@ static int filter_post_fs_cleanup(struct obd_device *obd) 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; @@ -1827,13 +1804,6 @@ static int filter_connect(struct lustre_handle *conn, struct obd_device *obd, 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) @@ -2403,7 +2373,6 @@ int filter_create_object(struct obd_device *obd, struct obdo *oa) portals_debug_dumpstack(NULL); } - fsfilt_set_fs_flags(obd, dparent->d_inode, SM_DO_REC); /* save last created object id */ diff --git a/lustre/obdfilter/filter_io.c b/lustre/obdfilter/filter_io.c index dea31de15489c3654a8fa0718aeef36043408ec6..702c4b8a2b2ff4bf208fa43b329624bf081d98ef 100644 --- a/lustre/obdfilter/filter_io.c +++ b/lustre/obdfilter/filter_io.c @@ -790,9 +790,9 @@ int filter_do_cow(struct obd_export *exp, struct obd_ioobj *obj, } 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"); @@ -850,9 +850,8 @@ int filter_write_extents(struct obd_export *exp, struct obd_ioobj *obj, int nobj } 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) { diff --git a/lustre/osc/osc_request.c b/lustre/osc/osc_request.c index 291a801c0287907e081f2eec09a259ae9ff0a7a6..98a0804c58d942a69e32445b294628e11091ca86 100644 --- a/lustre/osc/osc_request.c +++ b/lustre/osc/osc_request.c @@ -2932,9 +2932,10 @@ static int osc_get_info(struct obd_export *exp, __u32 keylen, } 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) diff --git a/lustre/smfs/kml.c b/lustre/smfs/kml.c index 501e0eb429f852f83368d0b78c3d6d2a2123a86b..9b34171ed37c509320ee4f4b0df1231230f0df6c 100644 --- a/lustre/smfs/kml.c +++ b/lustre/smfs/kml.c @@ -350,6 +350,7 @@ static int smfs_remove_all_extents_ea(struct inode *inode) 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; @@ -360,6 +361,7 @@ static int smfs_init_extents_ea(struct inode *inode) RETURN(rc); } + static int smfs_set_dirty_flags(struct inode *inode, int flags) { struct fsfilt_operations *fsfilt = S2SMI(inode->i_sb)->sm_fsfilt; diff --git a/lustre/smfs/ost_kml.c b/lustre/smfs/ost_kml.c index 7c0b962d7a52c1bca8a8ea9d71be229788188db0..31e2e7979c217f1800c29aab00ea648b83d00ec9 100644 --- a/lustre/smfs/ost_kml.c +++ b/lustre/smfs/ost_kml.c @@ -42,7 +42,7 @@ 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) @@ -100,18 +100,20 @@ static int ost_rec_create_pack(char *buffer, struct dentry *dentry, 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); diff --git a/lustre/smfs/smfs_lib.c b/lustre/smfs/smfs_lib.c index 468e7ecf6fdf9ef06709b4025a8f0ee279fd41c5..80837458ff1370ca6ba21bec43abf32fd3805381 100644 --- a/lustre/smfs/smfs_lib.c +++ b/lustre/smfs/smfs_lib.c @@ -166,14 +166,16 @@ void smfs_cleanup_fsfilt_ops(struct smfs_super_info *smb) 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++) { @@ -186,15 +188,10 @@ static void smfs_filter_flags(struct filter_obd * filt, struct inode * o_dir) 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, @@ -308,7 +305,6 @@ err_free_cache_fstype: OBD_FREE(smb->smsi_cache_ftype, strlen(typestr) + 1); err_umount_cache: mntput(mnt); - return err; }