Skip to content
Snippets Groups Projects
  1. Jun 01, 2004
    • alex's avatar
      - mds->lmv->mdc propagate lower timeout down to import · 401deb50
      alex authored
        we need this becase client's timeout should be longer then inter-mds recovery may take
      - few ugly hacks that allow client to reconnect with old (before failure took place) UUID
      - mds_preprw() and mds_preprw() should use l_dput() instead of f_dput()
      - SOCKNAL_IO_TIMEOUT has been set to 20 seconds to make discovery of
        stale connection faster
      - lconf generates persisten UUIDs for LMV clients
        it each new LMV uses fresh UUID, then each recovered MDS looks like
        new client (target MDS doesn't recognize it's old because of new UUID).
        if target MDS gets restarted, then it'll find more clients in LAST_RCVD
        then it actually had
      401deb50
  2. May 29, 2004
  3. May 26, 2004
  4. May 25, 2004
    • alex's avatar
      b=2950 · ee812107
      alex authored
      landed on HEAD
      ee812107
    • alex's avatar
      b=3063 · 361c0064
      alex authored
      361c0064
  5. May 24, 2004
  6. May 23, 2004
    • alex's avatar
      - mdt_obj_create() understands a request which is part of cross-node mkdir() · da9596b4
      alex authored
        recovery and looks for given ino/generation first. if no ino/generation are
        given then it simple recreates new object and returns ino/generation back
        to MDS holding a name. leaked inode is subject to rollback mechanism that
        is to be implemented yet
      - when mds_reint_create() is asked to replay cross-node mkdir() it signals
        this to MDS holding dir inode and sends ino/generation couple if possible
      
      NOTE: now cross-node mkdir() survives failure on any MDS node: holding the
            name and holding the inode
      da9596b4
  7. May 21, 2004
    • alex's avatar
      - extN-wantedi accepts generation as well as ino to create an inode with · cc88d5e2
      alex authored
        given ino/generation. we need this for cross-node mkdir() which creates
        inode on remote MDS and adds dir entry then. after that remote MDS may
        fail and primary MDS will have to recreate inode with already gotten
        ino and generation numbers
      - export refcounting bug in lmv fixed
      - mdc_obj_create() stores just received ino/generation back to request.
        if request replay will happen mdt_obj_create() will use stored numbers
        to recreate lost inode
      - mds_filter_recovery_request() accepts OST_CREATE request. need to be
        discussed though
      - mdt_obj_create() rewritten to support recovery phase
      - needless mds_lmv_disconnect() in mds_fs_cleanup() removed
      - possible bug in retrieve_generation_numbers() fixed: it should understand
        cross-node dir entries and put proper mdsnum's
      
      NOTE: please, re-apply extN-wantedi patch
      cc88d5e2
    • alex's avatar
      - workaround for name collision in mdt_obj_create() + debug CERROR there · 358353b6
      alex authored
      - mds_commitrw() should use l_dput() instead of f_dput()
      - removed needless CERROR() from mds_create_local_dentry()
      358353b6
  8. May 20, 2004
    • alex's avatar
      - pdirops patches against vanilla-2.4.20 series · 7e3248a2
      alex authored
      NOTE: vanilla-2.4.20 runs CMD now
      7e3248a2
    • alex's avatar
      - new routine lmv_get_mea_and_update_object() to be called for · b5f04105
      alex authored
        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
      b5f04105
  9. May 19, 2004
    • alex's avatar
      de3b0ce1
    • jacob's avatar
    • Andreas Dilger's avatar
    • alex's avatar
      - name var was used being uninitialized · 8fa13027
      alex authored
      8fa13027
    • alex's avatar
      - raw_name2idx declaration to avoid warnings · e2d42b61
      alex authored
      - ldlm_cli_enqueue() takes 2nd number from resource name into account
        to recognize that returned lock changed. we need this because MDS
        may return LOOKUP lock with the same ino, but another generation.
        the case is very simple mkdir a; then touch a/b; remount; lookup a/b;
        a and b my live on different MDSs and have the same ino
      - lmv_handle_remote_inode() changes intent from IT_LOOKUP to IT_GETATTR:
        caller expect to find attributes in reply
      - lmv_intent_lookup() chooses right MDS to revalidate the name
      - lmv_create() chooses right MDS where to forward request to
      - lmv_link() chooses right mds where to forward request to
      - lmv_unlink() chooses right mds where to forward request to
      - lmv_readpage() removes . and .. from all the pages, but ones that come
        from master MDS for given directory
      - lmv_obd_create_single() requests creation of single directory on given MDS
      - mdt_obj_create() creates a directory for new mkdir() semantic
      - each time new llite connects to MDS, the latter try to connect to own LMV
      - mds_pack_inode2body() returns nlink=1 for directories
      - mds_lmv_postsetup() pass valid cookiesize to lmv and down to the stack
      - mds_reint_create() distributes new dir's inodes over the cluster
      - bug in mds_create_local_dentry() fixed: rmdir may cause FIDS/ removal
      - mds_get_parents_childer_lock() recognizes cross-ref dentries
      e2d42b61
  10. May 18, 2004
  11. May 17, 2004
  12. May 14, 2004
  13. May 13, 2004
  14. May 12, 2004
  15. May 11, 2004
  16. May 10, 2004
  17. May 09, 2004
Loading