Switch branches/tags
v2_4_0-1dkms v2_3_65-1dkms v2_3_64-1dkms orion-2_3_49_92_1-71chaos orion-2_3_49_92_1-70chaos orion-2_3_49_54_2-75chaos orion-2_3_49_54_2-69chaos orion-2_3_49_54_2-68chaos orion-2_3_49_54_2-63chaos orion-2_3_49_54_2-62chaos orion-2_3_49_54_2-61chaos orion-2_3_49_54_2-60chaos orion-2_3_49_54_2-59chaos orion-2_3_49_54_1-58chaos orion-2_3_49_54_1-57chaos orion-2_3_49_54_1-56chaos orion-2_3_49_54_1-55chaos orion-2_3_49_54_1-54chaos orion-2_3_49_54_1-53chaos orion-2_3_49_54_1-52chaos orion-2_2_49_57_2-45chaos orion-2_2_49_57_1-44chaos orion-2_2_49_57_1-43chaos orion-2_2_49_57_1-42chaos orion-2_2_49_57_1-41chaos orion-2_2_49_56_9-40chaos orion-2_2_49_56_8-39chaos orion-2_2_49_56_7-38chaos orion-2_2_49_56_7-37chaos orion-2_2_49_56_7-36chaos orion-2_2_49_56_7-35chaos orion-2_2_49_56_7-34chaos orion-2_2_49_56_7-33chaos orion-2_2_49_56_7-32chaos orion-2_2_49_56_6-31chaos orion-2_2_49_56_6-30chaos orion-2_2_49_56_5-29chaos orion-2_2_49_56_5-28chaos orion-2_2_49_56_5-27chaos orion-2_2_49_56_5-26chaos orion-2_2_49_56_4-25chaos orion-2_2_49_56_4-24chaos orion-2_2_49_56_3-23chaos orion-2_2_49_56_3-22chaos orion-2_2_49_56_2 orion-2_2_49_56_2-21chaos orion-2_2_49_56_1 orion-2_2_49_56_1-20chaos orion-2_2_49_56_1-19chaos orion-2_2_49_50_7 orion-2_2_49_50_7-18chaos orion-2_2_49_50_6 orion-2_2_49_50_6-17chaos orion-2_2_49_50_6-16chaos orion-2_2_49_50_5 orion-2_2_49_50_5-15chaos orion-2_2_49_50_5-14chaos orion-2_2_49_50_4 orion-2_2_49_50_4-13chaos orion-2_2_49_50_4-12chaos orion-2_2_49_50_4-11chaos orion-2_2_49_50_3 orion-2_2_49_50_3-10chaos orion-2_2_49_50_3-9chaos orion-2_2_49_50_3-8chaos orion-2_2_49_50_3-7chaos orion-2_2_49_50_3-6chaos orion-2_2_49_50_3-5chaos orion-2_2_49_50_2 orion-2_2_49_50_2-4chaos orion-2_2_49_50_1 orion-2_2_49_50_1-3chaos orion-2_2_49_50_1-2chaos orion-2_2_49_50_1-1chaos 2.5.3-6chaos 2.5.3-5chaos 2.5.3-4chaos 2.5.3-3chaos 2.5.3-2chaos 2.5.3-1zfs 2.5.3-1chaos 2.4.2-17chaos 2.4.2-16chaos 2.4.2-15chaos 2.4.2-14.1chaos 2.4.2-14chaos 2.4.2-13chaos 2.4.2-12chaos 2.4.2-11chaos 2.4.2-10chaos 2.4.2-9chaos 2.4.2-8chaos 2.4.2-7chaos 2.4.2-6chaos 2.4.2-5chaos 2.4.0-RC2_11chaos 2.4.0-RC2_8chaos 2.4.0-RC2_7chaos 2.4.0-RC2_5chaos 2.4.0-RC2_4chaos
Nothing to show
Commits on May 4, 2010
  1. b=19102 set stripe_offset default to -1

    Yang Sheng committed with morrone Mar 8, 2010
  2. b=21846 LBUG on null key while rehashing quota lqs

    morrone committed Mar 3, 2010
    attachment 28590
  3. b=16909 Report remaining recovery time consistently

    behlendorf committed with morrone Feb 23, 2010
    Consistency is good, always report the remaining recovery time
    in the mm:ss format.  This patch get's the last 3 remaining
    instances where it is simply reported as a total number of seconds.
  4. b=16909 Simplify MDT/OST service start message

    behlendorf committed with morrone Feb 23, 2010
    I've resisted changing this message for quite some time but not today.
    This message contains alot of information some of which is important
    some of which really isn't.  I'm proposing the elimination of the less
    important bits and the addition of a little more info the admins may
    be interested in.
    In particular the changes I've made are to drop lustre_cfg_string()
    and simplify what is printed for the device name.  It used to be
    (label/uuid) or just (uuid) if there was no label.  I've changed
    this to print only the label when it exists and the uuid when it
    does not.  I have also merged the device name in to this message
    and dropped the other stray message with this info.
    Finally I've broken the message in to two parts.  There was always
    a message which would tell you if recovery was enabled or disabled.
    But in practive we never saw it since obd_recovering was always set
    so we saw the other message in the if () an obviously inferred that
    recovery was enabled.  That made sense but I would still rather make
    it explicit so I've pulled that message out of the if () so it is
    always printed.  Then I've simplified the second message which
    contains the details able how long recovery should take and make
    sure it is only printed as before when we are recovering.
      Lustre: lc2-OST001f: Now serving dev (lc2-OST001f/
      bff4fc50-e3e2-acd1-4392- 940b80c1e9ad), but will be in
      recovery for at least 5:00, or until 73 clients reconnect.
      Lustre: lc2-OST001f: Server on device /dev/sda has started
    Was changed too one of the following examples:
      Lustre: lc2-OST001f: Now serving lc2-OST001f on /dev/sda with recovery disabled
      Lustre: lc2-OST001f: Now serving lc2-OST001f on /dev/sda with recovery enabled
      Lustre: lc2-OST001f: Will be in recovery for at least 5:00, or until 73
      clients reconnect
    Also as part of this patch I've updated the console filter to correctly
    handle fake requests and squelched the lov_update_create_set() message
    for the -ETIMEDOUT/-ENOTCONN case.
      LustreError: 7872:0:(lov_request.c:693:lov_update_create_set()) error
      creating fid 0x104c5e0b sub-object on OST idx 53/2: rc = -107
  5. b=22107 Precreate + cancel contention (journal/rpc debug)

    behlendorf committed with morrone Feb 22, 2010
    Check that we are not holding a transaction open during RPC send.
    This is a prototype for verifying that the journal is not blocked
    over an RPC.  I hope it doesn't trigger too often, which would
    indicate some old problems have crept back into the code.
  6. b=22107 Precreate + cancel contention (hpreq timeout extension)

    behlendorf committed with morrone Feb 22, 2010
    Register a hpreq_handler for LDLM_CANCEL requests.  This is used
    by waiting_locks_callback()->ldlm_lock_busy() to extend the timeout
    for a waiting lock.  To catch requests both currently being processed
    and requests which are still queued ptlrpc_hpreq_fini() has been
    moved after srv_handle().  The one case we have full logs for shows
    the cancel request was currently being processed when the timer
    expired.  But I see no reason why the request could not have been
    still on the request queue waiting for a service thread.  This
    approach lets us use existing infrastructure to handle both cases
    Finally, LDLM_THREADS_AUTO_MIN has been increased to 3 because
    ptlrpc_server_allow_normal() prevents all normal requests from
    being processed on a service with a high-priority queue and only 2
    service threads.
    Note this patch does not address the root cause of the issue described
    in bug 22107 which is journal starts taking 100's of seconds.  This
    patch only addresses the symptoms while it is determined why journal
    starts are taking this long.
  7. b=19390 Improve quota formance when quota is set

    behlendorf committed with morrone Feb 12, 2010
    This unneeded spin lock is I suspect is significantly slowing
    down hash lookups.  In addtition to the fact that the has was
    too small.
  8. b=21456 Support lnet v1 pings in 'lctl ping'

    behlendorf committed with morrone Feb 8, 2010
    Add the missing error handling and v1 data structure for 1.8.2 clients
    to correctly interpret v1 ping replys.  This support can be dropped in
    lustre 2.0 once interoperability is no longer required.
Commits on May 3, 2010
  1. b=21726 */exports/{uuid/hash} accessed after hash is destroyed

    behlendorf committed with morrone Jan 13, 2010
    Because the nid_stats and their proc entries are not destroyed until
    after the obd->obd_nid_hash is destroyed.  We cannot assume that it
    is always safe to access the hash in the lprocfs_obd_rd_hash() or
    lprocfs_exp_rd_hash() proc handlers.  To prevent this bug we set
    obd->obd_nid_hash = NULL when the hash is destroyed.
    However this still leaves a tiny race so I'm not thrilled with this
    fix.  It should however work as a short term band aid make this issue
    very unlikely.  A better fix will be to move the destruction of the
    proc entries and nid_stats before the destruction of the hashes.
    I believe this can be done safely in obd_precreate() with a little
    work.  This has the added benefit of allowing us to remove the
    extra list and use use lustre_hash_del() instead of hnode_del_init()
    when removing the nidstats.
  2. b=21762 LASSERT if hash API is misused

    behlendorf committed with morrone Jan 7, 2010
    As Andreas points out quite nicely in comment 26 of bug 19518, if
    the API is misused it should LASSERT() so it can be fixed immediately
    by the developer.  Printing a warning for the user is not very useful
    so I have changes the LWARN to an LASSERT.
  3. b=20065 Avoid redundant statfs if already in progress.

    morrone committed Dec 18, 2009
    Sun bug 20065, attachment 24483
    Signed-off-by: Christopher J. Morrone <>
  4. b=20165 Add scripts for implementing heartbeat v1 failover

    morrone committed Dec 18, 2009
    Add scripts for implementing heartbeat v1 failover:
     /usr/sbin/ldev - list devices, determine validity, etc.
     /usr/sbin/lhbadm - wrapper for heartbeat utils for failover/failback/status
     /etc/ha.d/resource.d/Lustre - heartbeat resource agent (wraps init script)
     /etc/init.d/lustre - lustre init script
     /etc/init.d/lnet - lnet init script
     /usr/sbin/haconfig - helper script for building heartbeat config files
    The scripts use two configuration files:
     /etc/ldev.conf - maps hostnames to failover partners, devices, and labels
     /etc/nids - hostnames to lustre NIDS
    In addition to heartbeat support, the ldev script enables parallel
    execution of commands against all luns configured on a server.
    NOTE: these scripts presume the udev rules for persistent block device
    naming are in place, in particular that lustre labels can be mapped
    to block devices in /dev/disk/by-label.
    Tested with heartbeat-2.1.4-6 (from EPEL 5) and patched lustre-1.6.6.
  5. b=20356 Avoid socklnd timeout when peer is still alive.

    morrone committed Dec 18, 2009
    Sun bug 20356, attachment 25120.
    As long as we know the connection to the server is still alive
    (traffic in the recv direction, or on one of the other two
    TCP connections), we can assume that the tx direction is
    legitimately congested, but not broken.
    Signed-off-by: Christopher J. Morrone <>
  6. b=20356 Avoid o2iblnd timeout when peer is alive

    morrone committed Dec 18, 2009
    Sun bug 20356, attachment 25119.
    (Originally Sun bug 16186, attachment 17773.)
    Signed-off-by: Christopher J. Morrone <>
  7. b=14494 Debugging for o2iblnd RDMA timeouts

    morrone committed Dec 18, 2009
    Add debugging information that will hopefully prove useful when
    we hit the "Timed out RDMA with" IB timeouts.
    Contributions-by: Isaac Huang <>
    Contributions-by: Christopher J. Morrone <>
    Add /proc/sys/lnet/o2iblnd/stats, containing histogram of
    times spent on the ibc_active_txs queue by transmit packets.
    Tells us how long it took the IB layer to actually send a message
    once Lustre hands it off.
    Signed-off-by: Christopher J. Morrone <>
    Add histrogram for time that the kib_conn_t is sitting on the
    kib_sched_list queue.
    Signed-off-by: Christopher J. Morrone <>
  8. b=16083 Debug for ASSERTION(md->lsm_lock_owner == cfs_current())

    morrone committed Dec 18, 2009
    Sun Bug 16083, attachment 17395.
    Signed-off-by: Christopher J. Morrone <>
  9. b=14846 lnet timeouts on first connect

    morrone committed Dec 18, 2009
    It looks like connds are being hogged by connections
    to unavailable nodes, so new active-connection requests can't be
    handled on time.  We increase the default number of connds
    to be able to handle this case a bit better.
    Signed-off-by: Herb Wartens <>
    Signed-off-by: Brian Behlendorf <>
  10. b=18066 Change default lustre-log path

    morrone committed Dec 18, 2009
    Sun bug 18066, attachment 20975
    Signed-off-by: Jim Garlick <>
  11. b=18066 Tune adaptive timeouts

    morrone committed Dec 18, 2009
    Simul test 4 causes soft lockups on OSTs llnl bug 761.  Because of this
    we need to increase at_min to 15 seconds to avoid this failure when
    we are dealing with roughly 10,000 pending locks.  Once this
    algorithm is improved we may be able to remove this.
    We have also increase at_early_margin to 10 seconds because we do
    see what looks like excessive network transit times and this gives
    us a bit larger hedge against that.
    Signed-off-by: Brian Behlendorf <>
    Signed-off-by: Jim Garlick <>
  12. b=18066 Tune fsfilt slow disk transaction warning

    morrone committed Dec 18, 2009
    Sun bug 18066, attachment 20976
    Increase threshold for 'slow' disk transaction warnings to the console.
    By default this is set to 30 seconds which is far to low.  On hype/igs
    with 500+ service threads per OSS and a heavy load its not uncommon to
    see 100+ second service delays.  We only want to see these warning on
    the console when things are moving very slowly, these errors will still
    go to the internal debug log.
    We should use INFO/WARN instead of WARN/ERROR for the slow messages.
    Not only is there no real error here but it fixes an annoying quirk
    of the message formatting.  With the old levels you would see the
    messages formatted differently based on the time.
      Lustre: lc1-OST0001: slow parent lock 289s due to heavy IO load
      LustreError: 0-0: lc1-OST0001: slow parent lock 324s due to heavy IO load
    With the new levels things are more consistent.
      Lustre: lc1-OST0001: slow parent lock 289s due to heavy IO load
      Lustre: lc1-OST0001: slow parent lock 324s due to heavy IO load
    Signed-off-by: Brian Behlendorf <>
    Signed-off-by: Christopher J. Morrone <>
  13. b=16909 CWARN/LCONSOLE_WARN to CDEBUG for mds_notify() event

    behlendorf committed with morrone Feb 19, 2010
    Both of these warnings represent correct behavior the administrator
    does not need to know about, or more importantly do anything about.
    As such I am moving both of these warnings to CDEBUG(D_CONFIG).
      Lustre: 8099:0:(mds_lov.c:1167:mds_notify()) MDS lc1-MDT0000:
      add target lc1-OST0023_UUID
      Lustre: lc1-MDT0000: in recovery, not resetting orphans on lc1-OST0007_UUID
  14. b=16909 CERROR to LCONSOLE_WARN for lnet_send errors

    behlendorf committed with morrone Jan 15, 2010
    These errors are not uncommon when restarting services and there is
    no need to include the additional lustre debug noise in them.
      LustreError: 8831:0:(lib-move.c:1427:lnet_send()) No route to
      12345- via (all routers down)
    Changed to:
      Lustre: No route to 12345- via
      (all routers down)
  15. b=16909 Quiet LNET messages

    behlendorf committed with morrone Feb 19, 2010
    These messages are not as uncommon as one would like.
  16. b=16909 Quiet/cleanup various common console messages

    behlendorf committed with morrone Feb 19, 2010
    Turn off several common message we always observe when restarting
    servers assuming they are for the expected return code.  Simply
    move others which are not helpful to an administrator to the
    internal debug kernel log.  Less noise means your more likely
    to spot the important error messages.
  17. b=16909 Common client/server message standardization

    behlendorf committed with morrone Feb 19, 2010
    Enhance and standardize several common messages.  In particular
    when a peer is involved ensure peers nid is in the message, and
    on the server include the obd name in the message.
  18. b=16909 D_NETERROR for LNetGet/LNetPut

    behlendorf committed with morrone Feb 19, 2010
    Change LNET GET/PUT console errors to D_NETERROR debug messages.
  19. b=16909 Standardize and optionally suppress mount/umount messages

    behlendorf committed with morrone Feb 19, 2010
    Standardize mount/umount console message to include profile name,
    and optionally suppress them with the 'quiet' mount option.  We
    have been using private namespaces for testing and mounting then
    umounting the FS as needed for each job.  In this context these
    messages end up causing alot of syslog noise.
  20. Revert "Disable async journal commit & cancel lock before replay feat…

    morrone committed Jan 22, 2010
    …ures by default"
    This reverts commit fe8c3db.
    ENABLE async journal commits & cancel locks before replay features by default.
  21. Increase the watchdog factors

    morrone committed Dec 18, 2009
    Under a heavy IO load it is not uncommon to see service threads take
    200-450 seconds to complete due to slow journal starts.  This patch
    increases the watchdog factors to the point where we should only get
    watchdogs for real deadlocks.
  22. Add lflush script

    morrone committed Dec 18, 2009
    Signed-off-by: Jim Garlick <>
  23. Add lpurge utility.

    morrone committed Dec 18, 2009
    Signed-off-by: Jim Garlick <>
  24. Reorder build/ setup.

    morrone committed Dec 17, 2009
    We were having trouble building rpms with the original