LU-107 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.  The
lustre init script supports devices backed by Linux software RAID, ZFS,
or traditional block devices.

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-id.

Change-Id: I8391744ce6eed989c061f131aca4a2da7b5d51b2
Signed-off-by: Ned Bass <bass6@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-on: http://review.whamcloud.com/290
Reviewed-by: Doug Oucharek <doug@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Tested-by: Hudson
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1282 lprocfs: fix multi-thread contention glitch

* Revert clear stats patch committed on 8c831cb8, it is not multi-
  thread safe.
* Should protect the change of lprocfs_stats::ls_biggest_alloc_num
* Add a LPROCFS_STATS_FLAG_IRQ_SAFE flag, when a stat is non-percpu
  stats with this flag, lprocfs_stats_lock() should disable irq.

Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I42f29e97ff75bf3817249940c8bb491af123d1d9
Reviewed-on: http://review.whamcloud.com/3240
Reviewed-by: Liang Zhen <liang@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1339 crc: remove #warning

Patch removes #warning from 32bit code path.

Signed-off-by: Alexander Boyko <alexander_boyko@xyratex.com>
Change-Id: I9183caf6bc1a98da0c78086ecd300e7cf6880eb0
Reviewed-on: http://review.whamcloud.com/3354
Tested-by: Hudson
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1595 build: add 70-column commit comment wrap

Add a Vim modeline "textwidth=70" to force commit comments to wrap
at 70 characters, to match standard Git commit style guidelines.

Reduce the commit summary length to 62 characters, which is the
maximum that can fit after "Subject: [PATCH] " when formatting a
patch for email.  This is still above the recommended 50 character
summary limit, but with the leading ticket number and component,
there wouldn't be very much room left for a meaningful comment.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I04f8e0278a18a869b78acbf9dd1b55adf354500c
Reviewed-on: http://review.whamcloud.com/3284
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Li Wei <liwei@whamcloud.com>
Reviewed-by: Bruce Korb <bruce_korb@xyratex.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1603 ofd: Fix null pointer dereferences in ldiskfs_statfs()

On an OSS running the OFD-OSD stack, unmounting all OSTs makes all OFD
and OSD keys (i.e., lu_context_key) quiescent.  Next time the OSTs are
remounted, ofd_stack_init() will try to refill the quiescent osd_key
into the context, resulting in a null pointer dereference in
ldiskfs_statfs().  Before the problem motivating LCT_QUIESCENT and
LCT_REMEMBER can be revisited, the solution is to refill contexts
after new device types have been "revived" via allocations of their
first device instances.

Change-Id: I4835afb88fae460c21501df95765afd29e570860
Signed-off-by: Li Wei <liwei@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/3353
Tested-by: Hudson
Reviewed-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-1415 utils: Process all {get,set}_param arguments

Process all arguments to get_param and set_param before returning an
error, to allow accessing one of multiple parameters that have changed
during code reorganization.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Li Wei <liwei@whamcloud.com>
Change-Id: Icb3019c8bd6ed83ffbfeae1fa54084f34df00c1e
Reviewed-on: http://review.whamcloud.com/3245
Tested-by: Hudson
Reviewed-by: Yu Jian <yujian@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>