- new routine lmv_get_mea_and_update_object() to be called for
MDS's reply with -ERESTART which notifies directory got splitted - lmv_intent_open() recognizes a dir gets splitted during request, retrieves mea and repeats the request using proper MDS - lmv_create() recognizes a dir gets splitted during request, retrieves mea and repeats the request using proper MDS - bug fixed in lmv_getattr_name(): it passed wrong namelen to raw_name2idx() - lmv_obd_create() sets OBD_MD_FLID to flag MDSs to mark created object unsplittable. we have to differ two possible requests: 1) to create remote inode for cross-node mkdir(); 2) to create slave objects. last ones must not be splitted recursively - mdt_obj_create() has been rewritten to comply just described rules. also, it takes a lock on newly created inode. this is needed for recovery - bug fixed in scan_and_distribute(): it tried to open an inode using decimal number and this caused iopen_lookup() to find alias dentries - mds_get_lmv_attr() should return right mea size for given conf. in any case - minor cleanups
Showing
- lustre/lmv/lmv_intent.c 17 additions, 6 deletionslustre/lmv/lmv_intent.c
- lustre/lmv/lmv_internal.h 1 addition, 0 deletionslustre/lmv/lmv_internal.h
- lustre/lmv/lmv_obd.c 46 additions, 38 deletionslustre/lmv/lmv_obd.c
- lustre/mds/handler.c 49 additions, 77 deletionslustre/mds/handler.c
- lustre/mds/mds_lmv.c 9 additions, 12 deletionslustre/mds/mds_lmv.c
- lustre/mds/mds_open.c 2 additions, 2 deletionslustre/mds/mds_open.c
- lustre/mds/mds_reint.c 4 additions, 9 deletionslustre/mds/mds_reint.c
Loading
Please register or sign in to comment