Skip to content
Snippets Groups Projects
  • Andreas Dilger's avatar
    ccb42f24
    Merge b_md to HEAD for 0.5.19 release. · ccb42f24
    Andreas Dilger authored
    Fixes a _huge_ number of bugs:
      - Fully reactivate OST imports after reconnection (512, others)
      - Make sure client sees our -ENOTCONN from mds_handle (513 - partial)
      - More graceful error handling for truncating on dead OST (515)
      - Don't error out unless we're actually accessing dead stripes (474)
      - Fix garbage sizes when stripes are missing (410)
      - LRU counters were broken, causing constant lock purge (433, 432)
      - garbage on read from stripes with failed OSTs (441)
      - mark OSCs as active before reconnecting during recovery (438)
      - lov_enqueue and lov_cancel need to handle inactive OSTs (403)
      - lfind did not preserve OST order in output (443)
      - symlinks cause hung clients, incorrect data (439)
      - stop dereferencing request after dropping refcount (457)
      - don't LASSERT(spin_is_locked) on non-SMP (455)
      - fixes for many rename() bugs
      - fstat didn't correctly synchronize attributes (399)
      - server must handle lock cancellation during blocking AST prep (487)
      - bulk descriptors were free()d too soon (511)
      - fix paths in lconf, which would load incorrect modules (451, 507)
      - fix confusing lconf 'host not found' error message (386)
      - fix lock order deadlock on OST (O/R i_sem before journal ops, 478)
      - fix race condition in mdc_blocking_ast() for inode access (526)
      - fix lov_unpackmd() unpacking wrong number of stripes (537)
      - fix lov_set_osc_active() marking wrong OSC inactive (440)
      - fix bad lstripe lov_unpackmd() assertion (fix layering too) (527)
      - fix multiple writes of stripe MD to MDS (358, maybe 519)
      - fix lstripe in several ways (kernel side) (527)
      - fix request leak in ldlm_cli_enqueue (262)
      - incorrect OSC was marked inactive after OST failure
      - call mds_fs_cleanup before unmounting filesystem (524)
      - fix races between taking ns_lock and ldlm_lock_change_resource
      - fix races updating LOV export open file list
      - fix lov_enqueue error path, avoid decref-ing bad lock handle
      - fix recovery NULL deref in ldlm_cli_cancel_unused
      - fix some DLM races by using new hash table for lock handles (419)
      - permit the client to specify desired inodes, at replay
      - duplicate requests when we queue them for replay reintegration
      - fix last_rcvd offset calculation
      - sync after each recovered transaction, so we always make progress
      - never, not always, ERESTART requests without transnos
      - store the lov_desc in the MDS, so we don't depend on getlovinfo to set it
      - skip replay if the MDS says that the client is already connected
      - don't check for a recovery-enabled export to match lctl's UUID
      - don't INC_USE_COUNT for phantom exports
      - don't crash when cleaning up phantom exports (567)
      - don't double-finish or set replay data for errored mdc_open requests
      - abort requests when they time out, so we don't get old replies
      - send/receive replies for AST messages again
      - if the client says that it doesn't have the lock, cancel it on the server
      - if we timeout during I/O, don't try to cancel an in-use lock; instead
        mark it as destroyed, it will all work out when decref is called
      - fix module use counts (22, 581)
     * protocol changes
      - ASTs now expect a reply (server cancels lock on error reply)
    ccb42f24
    History
    Merge b_md to HEAD for 0.5.19 release.
    Andreas Dilger authored
    Fixes a _huge_ number of bugs:
      - Fully reactivate OST imports after reconnection (512, others)
      - Make sure client sees our -ENOTCONN from mds_handle (513 - partial)
      - More graceful error handling for truncating on dead OST (515)
      - Don't error out unless we're actually accessing dead stripes (474)
      - Fix garbage sizes when stripes are missing (410)
      - LRU counters were broken, causing constant lock purge (433, 432)
      - garbage on read from stripes with failed OSTs (441)
      - mark OSCs as active before reconnecting during recovery (438)
      - lov_enqueue and lov_cancel need to handle inactive OSTs (403)
      - lfind did not preserve OST order in output (443)
      - symlinks cause hung clients, incorrect data (439)
      - stop dereferencing request after dropping refcount (457)
      - don't LASSERT(spin_is_locked) on non-SMP (455)
      - fixes for many rename() bugs
      - fstat didn't correctly synchronize attributes (399)
      - server must handle lock cancellation during blocking AST prep (487)
      - bulk descriptors were free()d too soon (511)
      - fix paths in lconf, which would load incorrect modules (451, 507)
      - fix confusing lconf 'host not found' error message (386)
      - fix lock order deadlock on OST (O/R i_sem before journal ops, 478)
      - fix race condition in mdc_blocking_ast() for inode access (526)
      - fix lov_unpackmd() unpacking wrong number of stripes (537)
      - fix lov_set_osc_active() marking wrong OSC inactive (440)
      - fix bad lstripe lov_unpackmd() assertion (fix layering too) (527)
      - fix multiple writes of stripe MD to MDS (358, maybe 519)
      - fix lstripe in several ways (kernel side) (527)
      - fix request leak in ldlm_cli_enqueue (262)
      - incorrect OSC was marked inactive after OST failure
      - call mds_fs_cleanup before unmounting filesystem (524)
      - fix races between taking ns_lock and ldlm_lock_change_resource
      - fix races updating LOV export open file list
      - fix lov_enqueue error path, avoid decref-ing bad lock handle
      - fix recovery NULL deref in ldlm_cli_cancel_unused
      - fix some DLM races by using new hash table for lock handles (419)
      - permit the client to specify desired inodes, at replay
      - duplicate requests when we queue them for replay reintegration
      - fix last_rcvd offset calculation
      - sync after each recovered transaction, so we always make progress
      - never, not always, ERESTART requests without transnos
      - store the lov_desc in the MDS, so we don't depend on getlovinfo to set it
      - skip replay if the MDS says that the client is already connected
      - don't check for a recovery-enabled export to match lctl's UUID
      - don't INC_USE_COUNT for phantom exports
      - don't crash when cleaning up phantom exports (567)
      - don't double-finish or set replay data for errored mdc_open requests
      - abort requests when they time out, so we don't get old replies
      - send/receive replies for AST messages again
      - if the client says that it doesn't have the lock, cancel it on the server
      - if we timeout during I/O, don't try to cancel an in-use lock; instead
        mark it as destroyed, it will all work out when decref is called
      - fix module use counts (22, 581)
     * protocol changes
      - ASTs now expect a reply (server cancels lock on error reply)