Gitweb: http://git.fedorahosted.org/git/gfs2-utils.git?p=gfs2-utils.git;a=commitdif…
Commit: 5ec8f18602297bf888ffae1957ef6023d74fae12
Parent: 0000000000000000000000000000000000000000
Author: Steven Whitehouse <swhiteho(a)redhat.com>
AuthorDate: 2010-10-27 10:18 +0000
Committer: Steven Whitehouse <swhiteho(a)redhat.com>
CommitterDate: 2010-10-27 10:18 +0000
annotated tag: 3.1.0 has been created
at 5ec8f18602297bf888ffae1957ef6023d74fae12 (tag)
tagging 97368b361627c1a89f7e241297541118018504c9 (commit)
Version 3.1.0
A. J. Lewis (23):
o CFLAGS+= instead of CFLAGS= so you can add options from the cmdline
o allow CFLAGS to be added to from the command line
Out with the old, in with the new.
o Remove a number of unused macros
o Check for dups when looking at inodes for the first time
o Started working on interactive UI
Large batch of changes - mainly dealing with ExHash directory handling.
Fixed number of times it's necessary to run fsck to completely clean fs
o convert (f)printf to log_* in fs_dir.c
o Count blocks used by inodes and update them if counted doesn't match ondisk
Check that a device has been passed in (bz #149261)
o adjust the gfs ondisk format number
o Release buffers after use
o Convert remaining (f)printf's to log_*
o increment link count when dealing with bad '.' & '..' entries
o Update to latest ondisk.h from the s.r.c. gfs kernel source
o Fix the (d)inode_hash_insert() fxns (fixes bz #149706)
o continue instead of breaking on errors in scan_inode_list()
o Slight modification to fsck man page for new fsck
o Fix for fenced portion of bz #155478
Update fsck in HEAD of CVS with changes made to RHEL4 and STABLE
o Make sure the link counts of directories are properly incremented
Initial commit of fsck for GFS2
Abhijith Das (80):
fix for bz169087 - split fill_super_block() into read_super_block and fill_super_block. calling block_mounters between calls to the two sb functions
bz127042 fix: kill gnbd_monitor when all uncached gnbds have been removed
fix for bz178812. ccsd init script and daemon print errors now
cman init script fix for bz 159783. dlm module is modprobed immediately after cman module. Previously, dlm module was loaded after cman_tool join.
fixed. Obeys LSB standards for return values
bz 190200: cleaned up gfs2_tool to compile. Removed some features (gfs2 doesn't support them anymore) and commented some out for later implementation. Needs to be reviewed sometime in the future.
bz 190200 : man page changes for gfs2_tool changes
fix for bz 190392 + pjc's return 1 if 'status' fails. bz#187279
bz191222 fix. When releasing a glock with GL_NOCACHE flag set, care was not taken to ensure that only one holder for the glock remained. This was corrupting the glock and preventing further access to the glock. FLOCKS use this GL_NOCACHE flag. See bugzilla for more information. This patch needs to go through a test cycle to ensure that it doesn't affect other code
bz 191222 : removed debug printk
Removed usage of IFLAG_INHERITDIRECTIO and IFLAG_INHERITJDATA flags, because they were removed from linux/iflags.h
Edited Makefile to look more like other makefiles, dependent on objects rather than sources, etc. Removed reference to asm/page.h (for PAGE_SIZE) from util.c. Wasn't compiling on x86_64. Instead made PAGE_SIZE a #define
Single init script to start up cluster: Covers loading of modules, starting ccsd, cman and fencing, and starting daemons. Replaces ccsd, cman and fenced init scripts
Removed ccsd and fenced init scripts. Their functionality is replaced by the cman init script
modprobing lock_dlm before starting gfs_controld, removed init.d make targets for ccs and fence
gfs2 init script. Minor changes. Works just fine
Initial commit of gfs2_jadd. Doesn't work fully. Needs to be tested with GFS2 filesystem.
Removed reference to lock_gulm from the script. Works fine as is.
gfs2 doesn't allow gfs2meta and gfs2 filesystems to run parallely. gfs2_jadd umounts gfs2 and mounts gfs2meta to do its thing. Removed test mode. little-endian to big-endian change on disk-hash.
Continuing work on bz 195591. awk matching string for gfs and gfs2 was not right. Was causing the init scripts to go into a loop when both gfs and gfs2 fs were mounted
fix for bz 203167 and bz 202984. stop_fence was commented out. Now we do stop_fence before doing a cman_tool leave.
fix for bz 190204. gfs2_jadd uses the gfs2meta filesystem to add journals to an existing gfs2 fs
memory violation
Adding Josef's noquota mount option for GFS1 in RHEL5. Original bz 205285
bz 211418. Modified gfs2_tool and gfs2_jadd to use the new inode flags in fs.h instead of deprecated iflags.h
bz 190196. gfs2_quota. Doesn't use sysfs anymore. Uses the gfs2meta filesystem instead.
don't fail if unmounting configfs fails
fix for bz 225199 - Same as GFS1 fix in RHEL4 (bz 210362). We don't run throug the entire gfs_quota sparse file to do a list operation anymore. We get the layout of the gfs_quota file on disk and only read quota information off the data blocks that are actually in use. Also added functionality to GFS_IOCTL_SUPER to provide the metadata of the hidden quota file.
we don't use this file anymore. removing
Need to write the user/group id to the sysfs quota refresh file instead of '1'
Changes to fix broken code after Bob pulled out metafs mounting functionality from gfs2_quota into libgfs2.
Fix for bz248177: We delete the old /etc/mtab entry and add a new one during remount. Any changes made to the mount options using remount are reflected in /etc/mtab now.
fix for bz253172 - gfs2 init script should not unload any kernel modules
fix for bz253016: userland fixes for gfs2 quota linked list
man page changes for new gfs2_quota reset option
fix bz 311591 - make lock_dlm the default lock protocol in mkfs.gfs and mkfs.gfs2
lon's patch removes 'Domain-0' check which was breaking xvm because cman starts before xend. patch also allows you to put NODENAME in /etc/sysconfig/cluster
fix for bz333961 - adds support for -n and -f mount options
gfs2_tool: remove 'gfs2_tool counters' as they aren't implemented anymore
gfs-kernel: fix for bz 429343 gfs_glock_is_locked_by_me assertion
gfs2_tool manpage: gfs2_tool counters doesn't exist anymore.
gfs2_tool: Fix build warnings in misc.c bz 441636
gfs2_tool manpage: Updates to the manpage for bz441636
gfs2_tool: Fix build warnings in misc.c bz 441636
gfs-kernel: Bug 450209: Create gfs1-specific lock modules + minor fixes to build with 2.6.27
gfs-kernel: bug 450209 - addendum to previous patch. Removes extraneous lock_dlm_plock.c
libgfs2: Bug 459630 - GFS2: changes needed to gfs2-utils due to gfs2meta fs changes in bz 457798
gfs-kernel: bz298931 - GFS unlinked inode metadata leak
Revert "gfs-kernel: bz298931 - GFS unlinked inode metadata leak"
gfs-kernel: GFS: madvise system call causes assertion
gfs-kernel: bz457473 - GFS ignore the noatime and nodiratime mount options
Revert "gfs-kernel: bz457473 - GFS ignore the noatime and nodiratime mount options"
gfs-kernel and mount.gfs2: GFS ignore the noatime and nodiratime mount options
gfs-kernel: bz 458765 - In linux-2.6.26 / 2.03.06, GFS1 can't create more than 4kb file
gfs-kernel: bz466677 - fault in posix_lock_file() - "gfs_controld" responds to orphaned "plock_xop" request - suspected cause is patch for Bug 196318
gfs-kernel: Bug 466645 - reproduceable gfs (dlm) hanger with simple stresstest
gfs2-utils: Bug 481762 - No longer able to mount GFS volume with noatime,noquota options
gfs2_tool, libgfs2: bz487608 - GFS2: gfs2_tool unfreeze hangs
gfs2_convert: Fix rgrp conversion to allow re-converts
Revert "gfs2_convert: Fix rgrp conversion to allow re-converts"
gfs2_convert: Fix rgrp conversion to allow re-converts
gfs2_convert: Fix conversion of inodes with different heights on gfs1 and gfs2
gfs2_quota: Bug 536902 - quota file size not a multiple of struct gfs2_quota
libgfs2: Bug 459630 - GFS2: changes needed to gfs2-utils due to gfs2meta fs changes in bz 457798
gfs2_convert: gfs2_convert should fix statfs file
mount.gfs2: Better error reporting when mounting a gfs fs without enough journals
gfs2_convert: gfs2_convert doesn't convert jdata files correctly
gfs2_quota: fix uninitialized fiemap flags
gfs2_quota: Fix gfs2_quota to handle boundary conditions
libgfs2: fix build break caused by patch to bz 455300
gfs2_convert: Does not convert full gfs1 filesystems
gfs2_convert: gfs2_convert segfaults when converting filesystems of blocksize 512 bytes
gfs2_convert: gfs2_convert uses too much memory for jdata conversion
gfs2_convert: Fix conversion of gfs1 CDPNs
gfs2_convert: Doesn't convert indirectly-pointed extended attributes correctly
gfs2_quota: Keep quota file length always sizeof(struct gfs2_quota) aligned
gfs2_convert: gfs2_convert doesn't convert quota files
gfs2 manual pages: gfs2_convert manpage and documentation updates
gfs2_convert: gfs2_convert doesn't resume after interrupted conversion
gfs2_convert: corrupts file system when directory has di_height 3
Adam Manthei (52):
Addresses an issue that was seen w/ the APC Masterswitch. logins can fail
o added support for APC 79XX
diff -u -r1.3 fence_apc.pl
Fix for bug #129521
fix a regex that ernoeously allowed the agent to access devices it shouldn't
Fencing agents contributed by Lazar Obradovic <laza(a)yu.net> for
I forgot to add Lazar Obradovic's fencing agents to the bin Makefile.
From Lazar Obradovic:
Add ribcl version 2.0 support to fence_rib.
adding the Net::SSLeay version of the fence_rib agent. This should
man page updates for the fence_rib and fence_ilo agents.
move some functions around so that the script compiles
fix typos that Erling found.
Yet another method for fencing the IBM bladecenter. This method requires
man page for fence_bladecenter
bug 137035 -- add support for configurable ssl port locations to fence_ilo
initial stab at init.d script
remove /dev/misc/dlm-control if the major/minor number of the device node
make the daemon more verbose in the script since the default logging is
Jon changed the verbosity of ccsd. -v doesn't need to be on by default
diff -u -p -r1.1 fence_brocade.pl
fence_rib is deprecated by fence_ilo
diff -u -p -r1.3 Makefile
New man page now reads:
mention fence_bladecenter in man page for fence_xcat
o makes usage of ccs configurable
Add Magma to the list of services that are ignore on shutdown.
move the ordering of the scripts. lock_gulmd needs to be called before
diff -u -p -r1.1 Makefile
syncing w/ RHEL4 branch
pid file is now in /var/run/cluster/ccsd.pid, not /var/run/sistina/ccsd.pid
on shutdown, use gulm_tool to determine node liveliness rather than
o cleaned up init.d script to remove excessive `cman_tool join` and
having init.d/cman load the dlm module makes lon happy
Apply Derek Anderson's patch to resolve bug 144514:
Initial cut of drac fencing agent used at Oracle World.
o cleaned up some man of the man pages
don't start cman if <gulm> is defined in /etc/cluster/cluster.conf
start gulm when --use_ccs is used only if <gulm> is defined in /etc/cluster/cluster.conf
o fixed broken regex
regex fix for gulm and cman check of /etc/cluster/cluster.conf
partial fix to cman init script to address bug #147828.
o added "-w" option to cman_tool join (bz #147828)
remove the in_cluster() checking in stop. should no longer be needed
uses -t option to cman_tool to time out wait operations
Changes to the init scripts. BZ's 153739 and 153741.
Support for Dell Remot Access Card III/XT
o man page for fence_drac
add fence_drac to default build
o make init.d/fenced exit with WARNING instead of FAILED when using
fix for bz 161352
Add support for Dell PowerEdge 1855 to fence_drac (bz 150563). When using
Alasdair G. Kergon (6):
Initial checkin.
initial checkin
test checkin
test commit
test checkin
test checkin
Andrew Beekhof (2):
dlm_controld: add pacemaker support
dlm_controld: pacemaker build
Andrew Price (27):
[[BUILD] Warn and continue if CONFIG_KERNELVERSION is not found
[GFS2] gfs2_fsck: Fix operation on 'ptr' may be undefined warnings
[GFS2] Remove unrequired header file
[GFS2] gfs2_edit: Remove duplicate linux_endian.h
[GFS2] libgfs2: Build with -fPIC
rgmanger: remove check on cluster.conf from rgmanager init script
fence: simplify init script
fence: port scsi agent to use ccs_tool query and drop XML::LibXML requirement
askant: Import askant into tree
askant: Fix linking with libgfs2
askant: prog_name is no longer required
gfs2-utils: Remove 'die' calls from check_for_gfs2
gfs2-utils: Remove 'die' calls from set_sysfs
libgfs2: Move get_list out of libgfs2
gfs2-utils: Remove 'die' calls from mount_gfs2_meta
libgfs2: Remove 'die' calls from __get_sysfs
libgfs2: Clean up mp2fsname2
libgfs2: Remove 'die' from mp2fsname and find_debugfs_mount
libgfs2: Remove die from compute_heightsize
libgfs2: Remove die from fix_device_geometry
gfs2-utils: Clean up leftover prog_name globals
fsck.gfs2: Remove compute_height
gfs2-utils: Remove askant, contrib
libgfs2: Fix 'dubious one-bit signed bitfield' sparse errors
gfs2_quota: Fix sparse error
libgfs2: Fix "Value stored is never read" warnings
fsck.gfs2: Make block_mounters static
Benjamin Marzinski (78):
The GNBD clients and servers now distinguish eachother via nodename, instead
fixed obvious error.. If the gnbd_ctl device wasn't present, I was trying
devfs was set to use /dev/gnbd/<minor>, but gnbd_import sets the gnbds cluster
missing "_" in gnbd_monitor... caused gnbd_import to fail with uncached devices
updated gnbd kernel patch to include recent changes
initialize the polls array. This will make sure that gnbd_monitor realizes
Changed the /dev/gnbd_ctl node I make from major 11 to major 10, which is what
Fixed some annoying bugs. Previously, when you unimported a gnbd (with
added -fPIC to the makefiles, so the cman.so, gulm.so, etc.. would compile
Fixed some login structure size issues, so that gnbd clients and servers can
Removed the dependency on "all" from the "uninstall" target
link to the pthread library because magma needs it now.
Bunch of gnbd fixes. The big one is that gnbd_monitor works like it's supposed
Oops. Forgot to update the man pages.
updated Makefile so that it make distclean works
Forgot to update kernel stuff.
there was a problem with running two gnbd_clusterd processes at the same
Updated patches to 2.6.8.1
even though you now fence nodes by their cluster name, not their IP address,
fixed printing issue for 6.1
Fixed gnbd_import and gnbd_export so that -r with no devices returns an
Updated gnbd-kernel patches for 2.6.9
removed unneeded variable
added the stack overflow fix to head (rbz139863) gfs_glock_nq_m(), nq_m_sync(),
oops. switched long variable to unsigned long so that the gnbd device size
Fixed gnbd_export remove error message for bug 143131. Now it will
fixed journal corruption mentioned in bug 146672. If the latest entry written
Fixed 146672. While it is still possible to see this bug, the problem that I
Syncing head with RHEL4 branch.
added man page for gnbd_serv
Modified gnbd so that it can be used with multipath easier. When you export
fixed bug that caused gnbd_monitor to only successfully monitor a device until
Fix for bz #155597. GFS used to be able to write over a portion of the log
This fixes bz # 156635. A variable that I allocated statically in my fix for
Heres my fix of a fix of a fix. I wasn't initializing a list that needed to
Adding Fabio Massimo Di Nitto's patch to keep up with changes in the kernel
When you copy an suid root file to gfs, you start a transaction on the
fixed acl code so that acls are displayed when enabled, and not displayed when
switched 'deamon' to 'daemon' in uninstall rule.
add watchdog.o to the rgmanager object files, to fix undefined reference to
gfs2 was unable to truncate files if they were opened with write permissions,
Update gfs2_tool to make use of sysfs instead of ioctls where appropriate.
Fix for bz 142849
This fixes a problem from bz #173697. gfs_fsck crashed on many types of
initial commit of csnap kernel code with a useful build structure. The
Reorganize this directory to match the rest of the cluster tree.
This is the gnbd code that is required for getting multipathing to work on
fixed gnbd so that it compiles with the upstream kernel.
Fixing the get_uid code to make it easier to integrate with multipath
If it took too long for an uncached gnbd recvd process to stop after the server
Make GNBD work with cman.
updated man pages with UID information
more Makefile fixing
changed from MODULE_PARM to module_param
There. that should work better
libsysfs is deprecated. Stop using it.
fixing dm-multipath support for GNBD
pull devfs stuff out of gnbd.
setting multiple locations for gnbd_get_uid to check for scsi_id, and updating
file log.c was initially added on branch RHEL4.
file log.h was initially added on branch RHEL4.
Fix for bugzilla #207599. The individual gserv processes inherit the atexit
Change the way gnbd notifies multipathd about device changes, to deal with the
Make gnbd work with cman correctly. This sort of roughly falls under the heading
Really gross hack!!!
This is a bugfix for bz #211923.
fix for bz215095 & 215099.
make it so that the -c and -[u|U] flags are mutually exclusive.
GNBD was hanging with the cfq scheduler, so I changed the default scheduler for
Get GNBD compiling with the latest upstream kernel.
GNBD doesn't need to flush the cache after it looses connection with the server.
Fix for bz #426291. gfs_glock_dq was traversing the gl_holders list without
The gnbd kernel module on 64 bit architectures didn't handle ioctls from 32 bit
gnbd-kernel: Fix receiver race
[gnbd-kernel] bz 449812: disallow sending requests after a send has failed.
[gnbd-kernel] bz 442606: Switch gnbd to use deadline scheduler by default.
gfs-kernel: workaround for potential deadlock. Prefault user pages
libgfs2: mount device for metafs
Bob Peterson (202):
Resolves: bz 435917: GFS2: mkfs.gfs2 default lock protocol
Resolves: bz 421761: 'gfs_tool lockdump' wrongly says 'unknown
Resolves: bz 431945: GFS: gfs-kernel should use device major:minor
Merge branch 'master' of ssh://sources.redhat.com/git/cluster into master.bz431945
Update to prior commit for bz431945: I forgot that STABLE2
Resolves: bz 436383: GFS filesystem size inconsistent
Fix savemeta so it saves gfs-1 rg information properly
Fix gfs2_edit print options (-p) to work properly for gfs-1
gfs2_edit was not recalculating the max block size after it figured
Fix some compiler warnings in gfs2_edit
bz440896/440897 GFS: gfs_fsck should repair gfs_grow corruption
bz425421: gfs mount attempt hangs if no more journals available
bz438762: gfs_tool: Cannot allocate memory
bz295301: Need man page for gfs_edit
Replace put_inode with drop_inode
bz 446085: Back-port faster bitfit algorithm from gfs2 for better
Fix gfs2_edit bugs with non-4K block sizes
Make gfs2_edit more friendly to automated testing.
Updates to gfs2_edit man page for new option.
Allow keywords in block number input
Ability to specify starting block or structure with -s
Fix compiler warning.
Added an optional block-size to mkfs.gfs2
Fix build warnings in gfs2-utils.
Fix another compiler warning for 32-bit arch.
Fix build warnings from libgfs
Fix gfs_debug build warning
Ignoring gets return value in gfs_mkfs
Fix gfs_tool build warnings
Fix gfs_fsck build warnings
Fix 32-bit warning in super.c.
452004: gfs: BUG: unable to handle kernel paging request.
savemeta was not saving gfs1 journals properly.
gfs2_fsck fails: Unable to read in jindex inode.
Print log header flags for gfs journals.
Speed up userspace bitmap manipulation code.
gfs_fsck crosswrite for block number sanity checking
Fix some bad references to gfs_tool and gfs_fsck
Deleted unused function print_map
Shrink memory 1: eliminate b_size from pseudo-buffer-heads
Shrink memory 2: get rid of 3 huge in-core bitmaps
Shrink memory 3: smaller link counts in inode_info
Better error reporting in gfs2_fsck
RGRepair: Account for RG blocks inside journals
gfs2_fsck dupl. blocks between EA and data
gfs2_edit: Ability to enter "journalX" in block number.
gfs2_edit: was parsing out gfs1 log descriptors improperly
gfs2_edit: Improved gfs journal dumps
mkfs.gfs2: should have an optional fs size parm
GFS2: Make gfs2_fsck accept UNLINKED metadata blocks
Changes needed to stay compatible with libvolume_id.
Changes needed to stay current with libvolume_id.
GFS2: sync buffers to disk when rewriting superblock
GFS2: gfs2_fsck: fix segfault while running special block lists.
GFS: gfs_fsck invalid response to question changes the question
gfs-kmod: GFS corruption after forced withdraw
GFS2: gfs2_edit savemeta doesn't work with GFS
Fix many bugs with gfs2_convert.
Use jbsize for height computations on journaled files.
mkfs.gfs2 hangs with many journals
Grab hold of journal-turned-RG buffers so they're not freed.
Remove splice_read file op for jdata files.
Make gfs2_freedi delete indirect blocks with height >= 2
gfs: improve gfs_fsck rindex repair code
Non-default block size confuses gfs2_grow
Remove bogus TODO file from gfs2_fsck.
GFS2: Add human readable output to gfs2_tool df
Replace deprecated do_seek, do_read, do_write functions
Get rid of build warning in gfs2_convert.
Add Filesystem UUID to GFS2 utils.
GFS2: make gfs2_fsck conform to fsck(8) exit codes
GFS2: gfs2_edit fixes for 5.4
gfs2_tool df segfault on non-4K block size
gfs2_grow man page references removed -r option
gfs2_convert results in GFS2 File System Corruption
gfs2_edit: Display pointer numbers and use color changes to
GFS2: gfs2_edit savemeta not saving per_node quota files
Fix gfs2_fsck segfault
GFS2: gfs2_fsck should fix journal sequence number problems
mount failure after gfs2_edit restoremeta of GFS file system
gfs2_edit savemeta needs to save freemeta blocks
gfs2_edit: Fix indirect block scrolling
Correction to an earlier commit. Buffers were being updated
Removed check for incorrect height
GFS2: gfs2_edit savemeta wasn't saving indirect eattribute blocks
GFS2: gfs2_edit savemeta wasn't saving ea sub-blocks
GFS2: fsck.gfs2 sometimes needs to be run twice
fsck.gfs2 writing bitmap when -n specified
Fixed compiler warnings and errors that crept in.
GFS2: gfs2_convert, parameter not understood on ppc
/sbin/mount.gfs2: can't find /proc/mounts entry for directory /
Message printed to stderr instead of stdout
fsck.gfs2 segfaults while fixing 'EA leaf block type' problem.
gfs2_edit produces unaligned access
Fix more man page references to gfs2_fsck
"fsck.gfs2: invalid option -- a" on boot when mounting gfs2 root
GFS2: gfs2_fsck segfault in rindex repair code
GFS2: fsck.gfs2 sometimes needs to be run twice
The mount -o remount option failed due to new relatime option
Allow gfs2_edit printsavedmeta to print destination size and type
Make gfs2_edit -p <block> blockalloc work for gfs1 file systems
Allow gfs2_edit to display and print gfs1 rgrps
gfs2_edit: Indirect pointers missing from list when paging up and down
gfs2_edit: Add missing superblock fields for gfs1 file systems
gfs2_edit: Fix rindex read function for gfs1 file systems
GFS2: gfs2_edit prints wrong directory entry type for gfs1
gfs2_edit -p block# shows wrong height/offset on gfs1 and segfaults on gfs2
GFS2 filesystem inconsistent after xfstests test suite run
fsck.gfs2 unable to fix some rindex corruption for block size < 4K
GFS2: fsck.gfs2 should fix the system statfs file
GFS2: gfs2_edit savemeta bugs
Remove nvbuf_list and use fewer buffers
Eliminate bad_block linked block list
Simplify bitmap/block list structures
Streamline the bitmap code by always using 4-bit size per block
Misc blocklist optimizations
Separate eattr_block list from the rest for efficiency
gfs2: remove update_flags everywhere
fsck.gfs2: give comfort when processing lots of data blocks
fsck.gfs2: make query() count errors_found, errors_fixed
Attach buffers to rgrp_list structs
Make struct_out functions operate on bh's
Attach bh's to inodes
gfs2: Remove buf_lists
fsck.gfs2: Verify rgrps free space against bitmap
libgfs2: Consistent naming for blockmap functions
Move duplicate code from libgfs2 to fsck.gfs2
libgfs2, fsck.gfs2: simplify block_query code
gfs2: libgfs2 and fsck.gfs2 cleanups
libgfs2: fs_bits speed up bitmap operations
libgfs2: gfs2_log reform
fsck.gfs2: convert dup_list to a rbtree
fsck.gfs2: convert dir_info list to rbtree
fsck.gfs2: convert inode hash to rbtree
fsck.gfs2: pass1 should use gfs2_special_add not _set
libgfs2: Remove unneeded sdp parameter in gfs2_block_set
libgfs2: dir_split_leaf needs to zero out the new leaf
libgfs2: dir_split_leaf needs to check for allocation failure
libgfs2: Set block range based on rgrps, not device size
fsck.gfs2: should use the libgfs2 is_system_directory
fsck.gfs2: Journal replay should report what it's doing
fsck.gfs2: fix directories that have odd number of pointers.
libgfs2: Get rid of useless constants
fsck.gfs2: link.c should log why it's making a change for debugging
fsck.gfs2: Enforce consistent behavior in directory processing
fsck.gfs2: enforce consistency between bitmap and blockmap
fsck.gfs2: metawalk needs to check for no valid leaf blocks
fsck.gfs2: metawalk was not checking many directories
fsck.gfs2: separate check_data function in check_metatree
lost+found link count and connections were not properly managed
fsck.gfs2: reprocess lost+found and other inode metadata when blocks are added
Misc cleanups
fsck.gfs2: Check for massive amounts of pointer corruption
fsck.gfs2: use gfs2_meta_inval vs. gfs2_inval_inode
Eliminate unnecessary block_list from gfs2_edit
fsck.gfs2: rename gfs2_meta_other to gfs2_meta_rgrp.
Create a standard metadata delete interface
fsck.gfs2: cleanup: refactor pass3
fsck.gfs2: Make pass1 undo its work for unrecoverable inodes
fsck.gfs2: Overhaul duplicate reference processing
fsck.gfs2: invalidate invalid mode inodes
fsck.gfs2: Force intermediate lost+found inode updates
fsck.gfs2: Free metadata list memory we don't need
fsck.gfs2: Don't add extended attrib blocks to list twice
fsck.gfs2: small parameter passing optimization
fsck.gfs2: Free, don't invalidate, dinodes with bad depth
Misc cleanups
fsck.gfs2: If journal replay fails, give option to reinitialize journal
Fix white space errors
fsck.gfs2 fails on root fs: Device X is busy.
gfs2_edit savemeta: Don't release indirect buffers too soon
fsck.gfs2: Use fsck.ext3's method of dealing with root mounts
GFS2: libgfs2: build_rgrps was not attaching bh's properly
gfs2: fix regressions from performance fixes
gfs2: GFS2 utilities should make use of exported device topology
cman: gfs_controld dm suspend hangs withdrawn GFS file system
GFS2: fsck.gfs2 segfault - osi_tree "each_safe" patch
gfs2_fsck segfault when statfs system file is missing
gfs2_edit restoremeta should not return 0 on failure
fsck.gfs2: unaligned access on ia64
GFS2: libgfs2 bitfit algorithm using wrong shift point
Make gfs2_edit show bit-to-block translation when viewing bitmaps
gfs2-utils: mkfs can't fsync device with 32MB RGs
fsck.gfs2 deletes directories if they get too big
fsck.gfs2 segfaults if journals are missing
Updating /proc/mounts and /etc/mtab with mount args for GFS2 fs
Reported UUID from 'gfs2_edit -p sb' should be lower-case
fsck.gfs2 truncates directories with more than 100,000 entries
GFS2: fsck.gfs2 seems to process large files twice
gfs2_edit: better printing of directory leaf information
gfs2_edit: print hex numbers in lower-case
gfs2_edit: negative block numbers don't jump a negative amount
gfs2_edit: tiny (stuffed) files had user data saved with savemeta
gfs2_edit: give meaningful feedback for savemeta and restoremeta
gfs2_edit: Fix memory leak in savemeta option
gfs2_edit: Split extended display functions into extended.c
gfs2_edit: Move more functions to extended.c
gfs2_edit: Extend individual field printing/editing
gfs2_edit: fix page down on rindex
gfs2_edit: print field names in right column
gfs2_edit: display block allocation on rgrps and bitmaps
Fix extended.c and extended.h for autotools
Chris Feist (107):
Removed old includes from the kernel. Added an include for ${incdir} in case inc dir
Modified the 'make all' command to install the files into the cluster/build
Misspelled the module_dir in the previous checkin. (It was moduledir)
Removed a debug line from the Makefile, which is not necessary anymore
Added cman-kernel patches for the new 2.6.9 kernel.
Added a target to edit the release numbers when preparing tarballs.
Updated version number
Changed the build process for rgmanager so it more closely resembles the
Added make directory for rgmanager
Fixed rgmanger build process
Updated configure scripts to include a share directory (required by rg_mamanger)
Added makefile
Removing accidetally include defines.mk
Fixed configure script so it would configure rgmanager.
Added a script for building srpms from the individual components.
RPM spec file for magma.
Fixes to the scripts for building SRPMS.
Added rpm spec file for gnbd
Fixes in the script to build srpms.
Added rpm spec file.
Fixed variable in rpm spec file.
Changed srpm building location.
Added spec file for fence
Added spec file for dlm-kernel
Fixed dlm.spec.in
Added spec file.
Fixed directory locations
Moved GFS-kernel.spec.in to gfs-kernel.spec.in
Moved specfiles to proper name.
Updated location of srpms.
No error if srpms already exists.
Created a .PHONY tag for srpms.
Fixed name of tarball to install.
Uninstall script didn't uninstall gnbd.h properly.
Fixed problems w/ make uninstall not working w/ rgmanager.
Added fence_bladecenter.8 & fenced.8 to the install script for fence manpages.
Added option to install init scripts.
Added install/uninstall to main Makefile for init script.
Updated toplevel Makefile to install init script.
Fixed a problem which wouldn't uninstall the initscript.
Added install of init script in top level Makefile.
Updated copyright code
Added slibdir into the toplevel make so we don't touch /usr/lib
Merged changes from RHEL4 branch to fix building if not installing.
Added forgetten line in configure script which caused --sharedir
Added LDFLAGS variable in Makefile so dlm_tool will build if libdlm_lt is not installed.
Changes to the way the local build works:
file README was initially added on branch RHEL4.
file TODO was initially added on branch RHEL4.
file configure was initially added on branch RHEL4.
file defines.mk.input was initially added on branch RHEL4.
file release.mk.input was initially added on branch RHEL4.
file uninstall.pl was initially added on branch RHEL4.
file Makefile was initially added on branch RHEL4.
file dm-cmirror-client.c was initially added on branch RHEL4.
file dm-cmirror-cman.c was initially added on branch RHEL4.
file dm-cmirror-cman.h was initially added on branch RHEL4.
file dm-cmirror-common.h was initially added on branch RHEL4.
file dm-cmirror-server.c was initially added on branch RHEL4.
file dm-cmirror-server.h was initially added on branch RHEL4.
file dm-cmirror-xfr.c was initially added on branch RHEL4.
file dm-cmirror-xfr.h was initially added on branch RHEL4.
file dm-log.h was initially added on branch RHEL4.
Removed directories not needed for RHEL5.
Removed gulm from HEAD.
Removed gulm directory as it is no longer used.
Removed dlm-kernel & gulm from configure script.
Removed gulm from Makefile.
Removed most references to magma from gnbd.
Fixed fence so includes the proper directory for cman.
Added ccsincdir and ccslibdir to facilitate building.
Updated include to properly find gfs_ondisk.h.
Temporarily disable quota build until functioning w/ gfs2.
Modified makefile to use instead of hardcoded directory.
- We don't use the copytobin target in libgfs2
Fixed install script to install appropriate binaries.
Initscripts should be installed in /etc/rc.d/init.d
Remove references to magmalibdir & magmaincdir.
Assign ccslibdir to the appropriate variable in the configure script.
Use ccslibdir instead of libdir to find ccs libraries.
Install files in the correct location.
Not necessary to specify /sbin.
Fix configure script so we don't try to pass ccsincdir & ccslib dir to
Makefile fixes to assist with rpm building.
Fixed building for x86_64.
Added -lpthread to LDFLAGS to fix bz #198187 (Unresolved symbols w/ ldd -r)
Reverted changes to fix 64 bit arch building.
Copied gfs_ondisk.h from gfs-kernel to allow builds to succeed.
- Install the init script in the correct place.
Added gfs_ondisk.h to allow builds outside of tree.
Don't force the owner to root (breaks rpm build).
The gfs package should be installing the umount/mount.gfs links.
Create symlinks for mount.gfs & umount.gfs.
- Fix for bz #206325, ccs should not be started with the '-X' option & return
- Added in fixes to make gfs-kmod compatible with the RHEL5 kernel
Update building for xvm fence agent to build cleanly in brew.
Added changes to support installing init scripts w/ brew build.
We don't want to delete the scsi_reserve init script when doing a make clean.
Need to include directory for ccs.h header file.
Fixes to prevent compile time warnings/errors in brew.
Added date. (test git commit)
Test git commit.
Removed newline.
Test git commit.
Added back in change to description line to make chkconfig work properly.
fence: fixed a fence storm with fence_egenera
cman: fixed makefiles to actually install the vmware manpage
Christine Caulfield (98):
cman3 commit
[CMAN] Don't ignore cman_tool version
[CMAN] Remove deleted nodes from our list
Merge branch 'cman3'
Fix multicast display in 'cman_tool status'
Initialise votes to 0
[DLM] Don't segfault if lvbptr is NULL
[CCS] Fix the config loader for good
[CMAN] Make cman cope with the new objdb structure
[CMAN] Free up any queued messages when someone disconnects
[CMAN] Limit outstanding replies
[CMAN] Don't declare a variable in the middle of a block
[CMAN] valid port number & don't use it before validation
[DLM] Mention lidlm_lt in the man page
Remove references to broadcast.
[CMAN] Save the new expected_votes when a node is removed
[MISC] Make it build with gcc 4.3
[FENCE] Make it build with gcc 4.3
[CMAN] Disallow a new dirty node from joining the cman cluster
[CMAN] Remove external dependancies from config modules
[CMAN] Fix localhost checking that I broke last week.
[CMAN] make qdisk compile on i386
[CMAN] fix cman_tool join -X
[CMAN] Don't busy-loop if we can't get a node name
[CMAN] Fix some compiler warnings on 64 bit systems
[CMAN] use list_iterate_safe when removing nodes
[CONFIG] Add ldap configurator
[CONFIG] Make ldap put totem in the right place
[CONFIG] Improve LDAP error reporting
[CMAN] Add a config update callback
[CMAN] Only do timestamp check for older nodes.
[CMAN] Fix logging options
[CMAN] Remove some redundant code.
[CONFIG] Add some more ldap comments
[CONFIG] Add ldap loader
[CONFIG] rename ldap config generator
[CONFIG] Add a man page for confdb2ldif
[CMAN] Remove some spurious prints
[CCS] Set errno when an error occurs.
[CMAN] Don't use logsys in config modules.
Revert "[CMAN] Don't use logsys in config modules."
[CMAN] Don't use logsys in config modules.
[CCS] Fold ccs_test into ccs_tool and tidy
[CCS] add -c flag to ccs_tool query
[CONFIG] Add some more errnos to libccsconfdb
[CCS] Set return status on failure
[CCS] Make ccs_tool/ccs_test more consistent
[CMAN] Fix overridden node names
[CMAN] pass COROSYNC_ env variables to the daemon
[CMAN] Display the node's votes in cman_tool status
qdisk: fix compile error when building without debug.
cman: Revert dirty patch
cman: exit if configuration check fails.
cman: tidy objdb_get_int
cman (mainly): use corosync
cman: Fix find_handle leak
cman: fix objdb-destroying typo
cman" load openais services by default
cman: Silence some compiler warnings.
cman: add cman_tool -A to disable load of openais services
cman: Return quorum state in a STATECHANGE notification
cman: return the correct length of a message
cman: Allow a recently left node to join cleanly.
cman & config: Move special cases out of config modules
cman: cope better with malformed config files
config: fix ldap load bug caused by new objdb ordering in corosync
config: Remove stray fprintf
cman: Initialise variable
cman: honour the dirty flag on a node we haven't seen before
config: Allow multiple top-level keys
cman: Copy "service" keys down to corosync
config: Get rid of files I committed accidentally.
cman: rename 'move' functions to 'copy'
cman: Clean shutdown_con if the controlling process is killed.
cman: fix a couple of unhandled malloc failures
cman: fix two_node startup if -e is specified
cman: Some fixes for configless running
cman: Add some more comments about shutdown
cman: Some edits to the cmannotifyd man page
cman: Tidy some english phrases and typos
cman: replace high_nodeid with votes in transition message
cman: fix signatures of cman_get_privdata & cman_set_privdata
cman: Don't crash cman_tool nodes -a
cman: make it compile with latest corosync
cman: Make cman the quorum provider for corosync
cman: Make cman-preconfig reload <totem> too
cman: fix memory leak
cman: add cman3 services
cman: drastically improve startup errors
cman: fix cman_tool join return code
cman: make 'cman_tool leave -w' wait until cman has shut down
cman: Return an error if 'cman_tool leave' is attempted during shutdown
cman: let 'cman-tool leave -w' wait even if shutdown has already started
cman: Make new services compile with latest corosync
cman: more corosync changes
cman: fix error checking in testcmanquorum1
cman: Make API calls work on an inquorate system
gfs2: Fix includes for building on rawhide
Daniel Phillips (35):
Initial add, csnap code and docs
Added devspam.c device data verification utility
Actually commit (cvs, why are you so broken?)
Socket-over-socket control interface now functional
Create virtual device by execing dmsetup
Now works with unmodified device mapper, hack removed
Target now asks for connection when it needs one
Change to named socket for device control connection
Get rid of startup race by having csnap server fork its own daemon after
Renamed service.c to agent.c
Move development to 2.6.8.1
Remove out of date 2.4.26 kernel patch
Updated design document with details on server failover
Add "manual" csnap server failover
Teach diff about dm-csnap.c and dm-csnap.h
Sigh. Get the gfs bits out of the patch
Add agent.c and sendagent.c
Agents now instantiate servers using a dlm-based protocol
Fix csnap_create so that csnap_destroy recovers dm devices on error
Added kernel snapshot read lock upload for failover
- Csnap server now has journalling and recovery, it seems to work
Turn off tracing output, remove extraneous debug output
- bug fix: remove premature optimization that breaks when blocksize < chunksize
Turn off tracing, remove server crash simulation
Fix struct client pointer stability bug in server too
- Fixed struct client pointer stability bug in server too
Whoops.
BTree one-pass delete is now incremental with leaf/node coalescing
BTree snapshot delete refactored and cleaned up, tree collapsing added, a
Add index buffer dirtying, block freeing to snapshot delete. More cleanups.
Add snapshot store expansion
Add libpopt command line args parsing to mksnapstore, csnap-server
Poptize csnap-server, mksnapstore the rest of the way
Initial add, ddraid
add interface to specify initial socket as ascii fdnumber to avoid exporting sys_socket and sys_connect
David Teigland (1410):
ChangeSet(a)1.1682, 2004-06-24 13:34:54+08:00, teigland(a)redhat.com
ChangeSet(a)1.1684, 2004-06-24 23:22:05+08:00, teigland(a)redhat.com
ChangeSet(a)1.1683.1.1, 2004-06-25 11:19:18+01:00, patrick(a)jeltz.pjc.net
change build/install order
some tidying and improve error messages
put lockfile in /var/lock/ by default
use copy_from_user to get the register name
allocate name space for max length, not actual length
include lockspace.h
Fix the way we do lkb deletions. The DELAST flag is removed and a
update from src files
a bunch of assertions to catch errors early on
another warning and assertion
include directory sequence numbers in prints
better log message
fix log message
minor changes to resource directory lookups.
- Patrick's fix to set rsb nodeid to -1 during unlock crept into a
remove and clean up some debugging
- when a dlm_unlock() removes the last lkb from an rsb, reset the
- when an assertion fails dump all rsb's and lkb's to console
update from src files
loosen assertion to allow us to send an rsb lookup to ourselves
pjc found spot where lock struct wasn't being freed
- in unlock get the rsb after holding the in_recovery lock otherwise an
in dlm_lock_stage1 set lkb nodeid to the rsb's nodeid only after the
- set lkb nodeid to -1 when it's created. this prevents an assert during
a recent checkin incorrectly switched unlock_stage2 to reference an
Naming changes. Get rid of struct typedefs and gd_ prefix. Improve some
remove stray printk
mess with tabs (unaligned in cvsweb...)
Change the way lm_dlm_unlock() works. We previously demoted to NL on
update from src files
- change in the way name_to_directory_nodeid works. get rid of the bitmask
- /proc/cluster/dlm_dir to dump resource directory
remove "resdata" from function names since we've renamed things
get rid of the _recovery version of dir_lookup which only related to
the recently changed version of release_rsb() checks the new
Three different problems resulting from recent change to quit doing a
dlm_unlock_stage2: copy new lvb from lkb before granting new locks to
- the new MASTER rsb flag wasn't being set during recovery when
update from src files
print rsb in remote_stage2 assertion
recycle dir entries when rebuilding res directory instead of freeing and
pass the dlm_header into add_to_requestqueue so we can print the cmd
if deserialise_lkb finds the lkb already exists, advance the pointer so
tidy a bit of code that decides if a new master should be looked up.
In-progress unlock requests interrupted by a recovery event weren't
if remote_stage2() gets a request, it should return EINVAL if:
update from src files
initialize cluster_is_quorate to 0
add BUG() to assertion
An unlock request is waiting for a reply from a master node. That
on assert failure dump dlm's debug buffer
- Improve/fix the way we lock the rootres list. The two rwsem's we
update from src files
fenced was not correctly matching fqdn's from cman and basic hostnames
remove a printk that can be annoying
When a request completion is received in lock_dlm during recovery, the
- clvmd_fix_conf.sh usage was wrong
die if we cannot talk with ccs when starting up
Do reference counting on lockspace structs. Looping mount/umount
tidy DLM_ASSERT statements
Add locking around ls_requestqueue as it's accessed by both
print the actual error value ccs returns
retry calls to ccs_connect if they return an error
Send a DROPLOCKS callback to gfs once every minute while the number of
The lock counter used for DROPLOCKS callback wasn't accurate. It now
update from src files
- when processing a combined delete and completion ast, do the deletion
try to clear up the build steps
A bunch of fixes related to dir lookup's, EEXIST errors from lookups,
remove another assert
When granting locks, ignore locks on the wait queue that are also on
plain make in cluster dir doesn't work, but make install should
Make sure plock lp is off all lists before deleting, doesn't appear to
basts don't apply to the "plock update" lock, so don't provide a
change flag name to reflect expanded use
better format for lock dump on assert
- rebuild_freemem() was being called too early
more refining of whether we deliver or skip bast delivery
"cman_tool version -r <config>" can be used to update the
copy the current config_version into the cl_version struct in
when a recovery interrupts first start, the last_start value needs
previous fix incomplete, one other copy to zero
man page for cluster.conf
move cman_tool.8 into man dir, add Makefile to install
install man dir
moved to man dir
remove assertion that's not correct when multiple lock requests are
use the force=2 option for dlm_release_lockspace() to disregard any
update from src files
update from src files
some spacing cleanup
Use a separate DELAY_RECOVERY flag to postpone join/leave processing
if the first start is cancelled by a stop before finishing, reset the
a couple error messages
Use a recovery daemon per lockspace. This avoids deadlock when nodes
use kthread routines to start/stop ast thread
patches for 2.6.8.1
change the order in which we set up join/leave values so another
Change the lock granting logic to mirror the behavior of VMS. The
Changes to how dlm flags are used based on dlm changes.
update from src files
remove a couple log_debug's
use kthread routines
gfs needs a positive error from plock_get if there's a conflict
use kthread routines
- if a first start was aborted after getting past node setup, the
Put a lock around start and exit of dlm_recoverd thread.
add a couple syslog messages when nodes are fenced
get rid of "dir entry exists" messages
change the way we check for local plock conflicts
An agent's error message should now be recorded in syslog (worked in my
use down_interruptible, fcntl may return EINTR
always take the ast arg from dlm_unlock(), even when NULL
we must provide the correct astarg to dlm_unlock now that NULL is valid
lock_dlm needs to return EAGAIN itself
update from src files
sync up flags with dlm.h
Avoid doing a synchronous unlock in unhold_lvb by just letting the
another shot at correctly stopping dlm_recoverd thread when
fix dependency
use simpler kthread routines for serviced
update per build improvements by cfeist and anticipating a 2.6.9 kernel
the journalid code inherited the hold_lvb changes for gfs; it's not
A slight variation on one of the recovery special cases wasn't
a "minimum gfs" howto that I wrote up a long time ago:
We need to call process_requestqueue() when finishing a first recovery
udp, not tcp
mention how to use a different port for cman
Update to the new plock lm interface and 2.6.9. This fixes the problem
Change the default drop-locks value to 50,000. Both the drop locks
update from src files
update
A little optimization I've intended to do forever: get rid of the
Cached null locks that had been used with plocks were being freed
allow drop_locks_count of zero to disable drop callbacks altogether
allow max nodes to be set from /proc/cluster/lock_dlm/max_nodes
remove rcom debugging code that we're not using
Add a semaphore to serialize recovery with mount-group portion of
missed a couple spots when removing rcom stats
remove 2.6.8.1 patches
update from src files
Allocate an lvb for a new master rsb during recovery if any VALBLK
Set the VALBLK flag on the NL locks used for gfs's hold_lvb. Not mixing
these changes should fix the rare problem of waking a recoverd thread
add an extra line to syslog to help track what's happening
freeing a value before using in debug print
add a log_debug line
fix can_avert_fence() function, was using cman api incorrectly
Bug in names_equal() caused nodes to never be identified as "first
We should wait for the fence domain join to complete before allowing
Add more intelligence to fence daemon to avoid fencing nodes
Three config options for fence deamon can be set in cluster.conf or
Allow delays of -1 to indicate forever.
The lvb wasn't being copied into the master-copy lkb on unlocks,
The VALNOTVALID flag was being incorrectly cleared during recovery in
remove warning and a couple unnecessary type casts
While waiting for a manual ack, also check to see if the node has
Update per recent changes and new preferred option: -n <nodename>
add content
Fix some problems in the recently added lvb and valnotvalid flag
munge usage wording
don't include old license dir
more helpful error message
- add code to support unfence option
Add -u option to unfence the node. Does nothing if unfencing
missed clearing VALNOTVALID flag in unlock case
ccs request began //nodes/ instead of //cluster/nodes/
begin ccs requests with /cluster instead of //cluster
another tag name change
new cluster.conf tag names
zero the lvb when it's invalid since the dlm will not necessarily do
Use sequence numbers to restore the most recent lvb copy during recovery
DEBUG2 should be off by default
lvb sequence number should be incremented by dlm_unlock
only do lvb recovery when a node is removed from the lockspace
ignore the S option that fence_tool uses and may be inherited
A bunch of improvements:
add fence_tool man page
Add an msleep(500) to dlm_recoverd in an attempt to avoid the
add fence_tool
- update cluster startup tips, including new fenced delay/options
clean up join_ccs code
Re-order some initialization so that ccs errors will be caught and
don't leave if gfs is mounted
minor update
slight correction on how leave remove works
Two new flags that can be used for gfs's ANY flag: ALTPR and ALTCW.
use dlm alt modes for LM_FLAG_ANY
update from src files
update from src files
prefix output with prog name
add debugging output for -D and a check to see if ccs connect works
add -D debugging option
A node gets 1 vote by default when no votes value is specified.
- slight correction in description of expected_votes
document the optional nodeid setting
add sections on setting panic_on_oops and sources of more info
When rebuilding an lkb on a new master, the lockqueue_flags value
Release rsb's semaphore before queue_ast() since queue_ast() can
Log the name of the node fencing is deferred to or say "prior member"
Use ccs_get_list instead of ccs_get to prevent infinite looping when
change -s to -n in syslog message
use sigsuspend instead of pause as the reliable way to wait for a signal
yesterday's signal changes broke "fence_tool leave" which requires we
use die() macro so prog_name is prefixed to error messages
in startup check add a loop around the cman GETNODE ioctl since it
fix freeing name string before printing it in syslog
- Leave the lockspace when gfs does a withdraw. For now we abandon
- don't ignore the completion callback for a canceled lock
log more info to syslog to help people see why nodes are fenced
remove double
add cman_tool actions status|nodes|services to display
document new actions wait, status, nodes, services
send all debug logging over local socket so fence_tool can monitor
'fence_tool monitor' will print debug logging from fenced
improve an error message
include time in debug output
Fix dlm_astd hang in bz 145090. Have dlm_astd skip lkb's in the ast
Change all log_all() to either log_debug() or log_error() since
improve chances that withdraw won't get stuck by:
return an error in process_join_stop instead of asserting
ignore any wakeup that arrives after the serviced thread exits
There are a couple of potential problems this should fix related to
cman_tool now reports an error if the nodename doesn't match exactly
undo last change (enforce matching nodename/cluster.conf) so we can
need copytobin
If recovery was aborted during restbl_rsb_update(), some rsb's could be
- Assert that the recover_list is empty at the start of dlm_dir_clear.
remove utils_srt.c
In rcom_send_message, return an error from midcomms_send_message
remove three log_debug lines that are called so frequently during
- liblvm2clusterlock.so has moved from /lib to /usr/lib so we need:
- exit with an error if an invalid votes value is found
Similar bug to the one fixed the other day. If recovery is aborted
remove unused "bulk lookup" function
Clean up changes from last commit related to bz 143487.
cman_tool now picks as the local nodename whatever name has been entered
don't do a dlm_lock_dump when an assertion fails
When a conversion request has been sent to a remote master, that
We add NL locks to a resource to implement gfs's hold_lvb(). When
remove multihome setup from man page
document -w and -q options for join
Add option to fence_tool to wait for the node to complete its join and
don't complain when we see fence_tool's -w option
remove stray line
The current manpages are written in plain nroff which is not parsable
document the wait (-w) option
list fence_tool
Blocking asts were being ignored for all locks being converted which
We were ignoring blocking callbacks for locks being converted
The current manpages are written in plain nroff which is not parsable
Make dlm_recoverd thread a permanent fixure of each lockspace.
remove some non-critical printk's
ignore fence_tool's Q option
"The attached patch makes it possible to ask fence_tool to not wait for
Recognize and resolve a second form of conversion deadlock. When
When locks on the convert queue are granted, we need to try again to grant
Remove unfencing since it needs to be reworked and won't be ready
checkin removing unfencing wasn't complete, sorry
Add a bunch of schedule() calls to potentially-long loops in
remove "lkb xxxx exists" message which can flood the console/log.
Ignore any NEWLOCKS or NEWLOCKIDS messages from a previous instance
If node isn't found in sm_members report an error and don't oops.
New dlm development that won't be functional with gfs for a while.
Program for managing dlm membership in dlm-kernel/src2.
#define misc name
device node stuff for ioctl, largely copied from dm
standard copyright
matching dlm_nodeid_addr/dlm_addr_nodeid
fix small things to get working
Fix problems with cancelation. We weren't dealing with waiting locks
When gfs does an lm_cancel() we need to do a dlm cancel if that's
misc small bits, handle >1 local addr.
copy cancel fix from src/
When shutting down a lockspace we can remove lkb's from the ast_queue
copy ast_queue fix from src files
make the weight arg optional
Use sysfs for lockspace control. dlm-member ioctl's now only used for
Use sysfs for lockspace control. And set_id is a new action
command line interface for libdlm operations create/release/lock/unlock
complete lock code
split some functions into another file so they can be shared
fix output in /sys/kernel/dlm/<name>/members
cman doesn't provide proc entries
remove usage of proc
- use the new timeout variety of wait_event
more addr length fixes
need the sockaddr struct, not a pointer
increase DLM_ADDR_LEN to 256 bytes -- must be at least as large
moving lock dumps to debugfs, copying previous proc.c and ipoib_fs.c
making nodeid an int consistently
hooks things up to debugfs
deal with some errors better
a simple daemon to listen/talk to dlm in the kernel, connecting it
dlm_astd in wait_event_interruptible wasn't being woken by
fix release and convert actions; use persistent flag on locks
use ls_debug_list for debugfs
change sleep(1) to sleep(5) between a failed fence and a retry
version 2 of the central locking logic, eventually to replace
more work
more work, largely refcounting related
On Fri, Mar 25, 2005 at 03:22:38PM -0800, Daniel McNeil wrote:
another small bit for rsb refcounts
include event_nr in done message to groupd
couple fixes
use info from cman to do set_local/set_node calls into the dlm
couple fixes
error message
add error message
simplify dlm_astd handling by removing the wait_queue; and avoids
Add version number to the start of all dlm messages to help with
an example of using dlm_tool
backup recent work
back up work
backup recent work
some fixes from testing
add files
changes to existing code corresponding to new lock.c
remove files
add file
don't need cluster link
copy other hash function from gfs which works as well, but
fix some bugs
bug fixes
better way of returning some errors, more recovery bits
bunch of fixes
several fixes
couple fixes and thread to free rsbs
change to per-ls the list of lkb's waiting for reply, split a couple
new rcom routines that use normal lowcomms get/commit_buffer
outline for last recovery stage that replaces rebuild.c
same schedules that were added to the RHEL4 branch so serviced doesn't
refcount fixes, now requires post 2.6.11 version of kref_put
comment out noisy logging
misc minor updates
changes for debugfs
complete more of the bits that are replacing rebuild.c
misc recover fixes
update lvb recovery function
clear up confusing names
quit waiting for fenced to join (-w) after 10 seconds if fenced
next version of lock_dlm, a bunch of stuff is moved to userspace
a couple fixes
don't do useful work in an assert macro
fix bug in recover_master_copy
add missing wake_up
reject invalid event_nr's on start
cancel waiting locks; remove last lkb ref in both revert/remove_lock
simplify the ioctl bits now that they're only used for setting
node ioctl changes
dlm_node.h replaces dlm_member.h
dlm_member gone
most of the byteswapping
can now use openais
use correct libcman
byte swapping
- make functions static
update copyrights
preparing to build from linux/drivers/dlm/
process group manager
include groupd.h
wasn't closing fd's for sysfs files
lock_dlm daemon manages mount-group membership in userspace
userspace version of kernel's list.h
misc fixes
don't confuse lock_dlm's uevents as ours
recover_done, not done is sysfs file name
unmount bits
build stuff
update make patches
patches used by 'make patches' to generate complete dlm.patch
remove print formats we're not using
queries are waiting until after the first round
a couple updates
lock_dlm now exits, and pool doesn't
Improve logic that delays and reduces fencing. When fenced is recovering
use prefered inline
pack_rcom_lock/receive_rcom_lock_args was missing lkb_status
use long to save pointer val
Move the __lvb_operations table into lvb_table.h so it can be
remove sbf flag
- remove hierarchical sections that were commented out so it can all
seems EXPORT_SYMBTAB isn't used any more
remove query bits that were commented out of device code
update description of dlm.h flags
get rid of DLM_RELEASE_NAME
remove some complexity
Fix one of the big fixme's: immediately after finding the lkb in
Pass nodeid/addr info directly from node_ioctl.c to lowcomms where
- grant_after_purge only on master rsb's
free rsb's on toss list during recovery so they don't need to be
return an error if no local addr's are set
In-progress down-conversions should just be completed at the start
reduce debug noise
Initial untested code for recovering conversions between PR and CW.
adjust
more fixes
move some recovery-related functions from lock.c to recover.c
read_lock will do when creating root_list
update FIXME comment
"But, in any case you might as well move the label 'top' inside
use msleep and ssleep instead of schedule_timeout
clean up some spots where we don't need error handling, complete the
- get rid of parentheses around defined values
some misc tidying, use printk log levels
newlines
misc other formatting and tidying from reviews
depends on INET, select IP_SCTP
was hoping to avoid this, but search on every lkid we create to
make scan/toss_secs dlm_config values, get rid of empty lockspace_exit
put the '*' just to the left of the structure field
also return -EBUSY for convert if lkb_wait_type is non-zero
don't wrap wait_event in an infinite loop and use a timer
- dynamically adjust the delay when polling a node for its status,
go back to schedule_timeout() instead of msleep() in dlm_scand,
- set lkid in user's lksb earlier so they don't see 0
- check if lvb alloc failed
spell out DLM at the top
- need to lock_rsb/unlock_rsb in recover_locks() because
ast_queue_lock can be a spinlock
patch from Steve Dake to avoid using clm library
need del_timer_sync() with the new timer-based dlm_wait_function()
improve debug logging
skip barriers for now
- changes to debug messages
make the waitqueue usage more standard
style stuff, mainly making lines under 80
do a schedule/retry when kernel_sendmsg() returns -EAGAIN,
kernel apps must specify the lvb size they'd like (multiple of 8 bytes)
specify lvblen when creating lockspace, 32 bytes
byte swapping wrong size in rcom struct
fix a couple remaining over-80 lines
tidy a few things
improve comments and remove log_print about partial messages
status replies include a new "rcom_config" struct that is used
move is_master() to lock.h and use it in recover.c
NEW_MASTER flag wasn't being cleared on rsb's remastered locally
ignore start events if lockspace is running to avoid an assert failure
- big reordering of functions in lock.c to avoid declaring some
Tiny code change to implement significant optimization: if a node
make purge_queue() more general purpose, no functional change
send a status request to every member at the start of recovery just
adjust size of write, remove prints
use cman barriers again
spinlock fix from patrick
Wait until all locks are recovered before doing lvb recovery.
dlm_recover_members_wait() and dlm_recover_directory_wait() moved
Move recover_rsbs() to the main recovery section, requires a new
remove the timeout in wait_function which was for debugging,
- get all lines under 80
fix up some comments
- remove a couple FIXME questions
remove trailing white space
end files with
change debug message
don't want .orig from patch
no parens around defined values
daemonize
lib interface for groupd
don't add connection if accept fails
add _GPL to EXPORT_SYMBOL
remove unused function
change read_lock to read_unlock
add
to printk's
don't add duplicate local addresses
add Makefile
use libgroup
really use libgroup
fix sprintf's
add daemon and dlm_tool
add group_leave arg
missed new file
add missing make_args
new version using libgroup and libcman
don't build fence_tool, not updated yet
clear old recovery flags (LOCKS_VALID) when recovery begins
better debug output
munging
changing things so group_join/group_leave are initiated by
join/leave now just send messages to fenced which must already be
add comment
build fence_tool
return 0 on success from group_join/leave
various fixes completing switch to libgroup
- remove the group struct when we're done leaving
the call to process_recover_msg() had been commented out during
re-enable byte-swapping of messages
fix leave
initial bits to report group listing
put back flags to ignore certain messages, other minor stuff
replace with new version of lock_dlm in devel/
remove devel files
some byte-swapping calls were still commented out
Implement join/leave info: a small string of app-specific data that an
make spectator and withdraw options visible through sysfs
implement group_get_group() to get info for single group
munge group data returned in query
recognize get_group request in daemon, use memcpy for info data,
align text
fix uninitialized pointer in daemon,
simplify code in the mount path
complete some missing bits; verify cluster name at mount, verify
zero padding for id
avoid double free of rsb's lvb when clearing lockspace
Dynamic journal ids, done here using a simple message through
get libdlm.h from the correct place within the tree
don't build deprecated cman and sm dirs
remove cman-kernel usage
build src2 instead of src
don't build cman-kernel
add makefile
build in lock_dlm
install groupd and group_tool
clean and install in group dir
list new daemons that need to be started
not doing patches
Need to check the cn_member field to tell if a node is a member,
use libcman to check if victim has rejoined
copy all the data from cman_get_nodes
memcpy all the data after cman_get_nodes
dlm needs 2.6.12, don't build until that's out
fix-dlm-without-debug.patch
fix-dlm-extern-lvb_table.patch
tidying, do ifdefs around debugfs functions in a consistent way
restart events after a delay
install daemon
Set ls_first for gfs when a spectator is first to mount so gfs
changes to debugging output, don't try another leave if one is
a lot of fixes, use messages instead of barriers from libcman
option to list only one group
don't depend on leave state here, always go to groupd
tidy error handling
export dlm_lvb_operations symbol so dlm_device module can use it
changes to debug logging
only print debug info to stderr when -D is used
bits for withdraw
new file
remove temp debug bits, add 'dump' option to get debug log from groupd
remove noisy debug line
only print debug lines to stderr when -D is used
use correct list field in group struct
kobject was being freed too early in withdraw
Work around gcc-2.95.x macro expansion bug (from akpm)
munging to match upstream correction of export symbol lvb_operations
remove repeated include of module.h header
- include everything that needs sending in the standard message struct
close fd's of dead clients
start group id's at 1 instead of 0
look through correct list for failed nodes needing recovery
fix calculation of previous low nodeid
recovery timer can't be global, it must be per-lockspace
don't need to include lvb_table.h
correctly interpret the return value of do_barrier
when freeing locks for withdraw, don't try to free fake lvb's
All lookups outstanding when recovery happens need to be resent after
When an outstanding lookup is re-processed after recovery, the MASTER_WAIT
Add two comments in set_master() explaining how things work.
adjust some log_error() messages and open syslog when daemonized
look through correct list (members_gone, not members) for recovering
This patch makes needlessly global code static.
Use node weights in directory node mapping. A node is responsible
default weight is 1 not 0
Use ccs to get a node's optional weight value.
Replace test_bit(), set_bit(), clear_bit() of rsb flags with
Big rework of lockspace control/management. Simplifies things
different sysfs hooks for controlling the dlm
New way of controlling the dlm, no longer mirrors groupd callbacks.
Resolve potential recovery problems in dealing with an rsb prior to
dlm builds on 2.6.12
get to compile on 2.6.12
file COPYING was initially added on branch STABLE.
file VERSION was initially added on branch STABLE.
Per-lockspace option for dlm to run without using a resource directory.
need to copy the rsb's hash into the remove message
If recover_locks() on an rsb doesn't find any locks to recover,
file INSTALL was initially added on branch STABLE.
incorrect logic in telling kernel when join/leave was complete
Need to release the list of root rsb's when recovery is aborted early.
When a lockspace on a remote node is not found for a recovery
fix Makefiles for install
Add new phase to wait for application acks following a stop callback.
ack stop callbacks
add "first_done" sysfs file for dlm_controld to be notified of
When we're the first mounter, wait for "first_done" (set by
Last change was not correct, it's a second mount we need to delay
-n used with gnbd commands
use a constant message size between libgroup and groupd
add
global "joining" var needs to be per lockspace
- simplify a bunch of old junk
wait to add second mounter until gfs's initial recovery is done on
Significant cleanup, lots of style stuff
kernel people like function type and name on same line
function type and name on same line, use list_for_each_entry
tidying and filling out comments
fix mistake from converting to list_for_each
Carry out Ken's instructions from gfs2_ondisk.h to change
cleanup and tidying
function type and name on same line is preferred style
remove parens from defined values, fix lines over 80
remove more define parens
Remove ENTER/RETURN macros used for profiling and tracing debugging.
depends on SYSFS
munging to fix lines over 80 and other odd line breaks
use list_for_each_entry
don't build unused debug header
use kthread functions
Only allow one of the lock_dlm threads to do blocking callbacks.
use msleep() instead of schedule_timeout()
replace __inline__ with inline
remove/change comments that are out of date or unnecessary
fix typo bug from list macro conversion
remove define parens
remove unused options
reorder/indent for readability
add 2005 to copyright
typo bug "&atomic_read()", remove &
get lm_interface.h from ../harness
get lm_interface.h from .
quotes around lm_interface include
used to generate kernel patch where we need <linux/dlm.h>
adds gfs2 to kernel build
generate new kernel patches
include "locking/harness/lm_interface.h"
To avoid compile warning, replace get_v2ip(aspace) = NULL with
The max num_glockd was lowered from 32 to 16 when we switched to using
depend stuff
include gfs2.txt in kernel patch
add file for kernel patch
replace spaces with tabs
remove trailing whitespace
In conversation, simply refer to "GFS", not "GFS2".
Add a comment with Ken's explanation of the diaper device.
more tidying, removing old or unnecessary comments
inline instead of __inline__
Go back to schedule_timeout() in the daemons. We want to wake up more
add static to acl_get()
adding static to a bunch of stuff found by sparse, and a __user
__user annotations for proc functions
__user annotation in gfs2_readlink()
Excerpt from Ken Preslan's "ramblings".
spaces to tab
drop unnecessary casts of void pointers
gfs2_random() is not used, remove it.
replace gfs2_sort() with sort() from linux/sort.h
for gfs2_disk_hash() use the kernel's crc32_le() instead of our own
gfs2_disk_hash.h contains gfs2_disk_hash() and crc table that's
Remove all memory debugging per lkml comments; a pity, this stuff was
callers of inode_create() can deal with error, don't need RETRY_MALLOC
remove { } creating code block within function due to complaint
Get rid of RETRY_MALLOC entirely, although the one place it couldn't
replace the hash functions with linux/jhash.h
style munging:
Use wait_event() in do_lock_wait() instead of managing the waitqueue
get rid of fixed_div64.h -- the existing do_div() works fine in my
- remove empty kerneldoc headers
remove another { } block
Remove context dependent path names. Requested by Al Viro.
comment to link flags to struct member
convert lops.h macros into static inline functions
convert vma2state from macro to static inline function
asm headers after linux
use kzalloc instead of kmalloc+memset
replace kmalloc/kzalloc with kcalloc where appropriate
replace 256 with defined MAX_LINE
fix whitespace damage where lines start with 1-7 spaces followed by a tab
c99 initializers
replace 0x7FFFFFFFull with MAX_NON_LFS in size checks
Remove diaper code, add a FIXME in the place where we need to
gfs2_ip2v(ip, NO_CREATE) -> gfs2_ip2v_lookup(ip)
remove functions unused now that diaper is gone
cool down on the copyright artwork
remove comment I added
copyright artwork
remove empty kerneldoc headers
depends on IPV6
Configure lockspace id and members through configfs instead of sysfs.
Configure lockspace id and members through configfs instead of sysfs.
don't compile dlm_tool, configfs changes mean it won't be working
Configure node addresses through configfs instead of ioctls.
Move setting of the lockspace id from configfs back to sysfs where
set node weights (now through configfs)
- when weight isn't set, it should default to 1
support more than 1 address per node, up to DLM_MAX_ADDR_COUNT (3)
fix problem with the previous change for multiple addresses
rmdir, not unlink, to remove node from lockspace
functions no longer exist
dlm_our_nodeid now from config.h
munge whitespace to match upstream so patches are sane
remove temp defn of kzalloc
use new schedule_timeout_interruptible
update
member_sysfs.c has been decimated and is no longer related to
use linux/jhash.h instead of our own
select configfs
Add printk log levels by replacing printk with one of:
hold configfs subsys lock while accessing the children list
remove PRI/SCN defines that aren't used
comment out CMAN_CMD_ADD_KEYFILE which isn't in header yet
memset node struct to 0 before cman_get_node
clear node struct before every cman_get_node
follow_link now returns void*
These will replace proc.[ch] and do the same thing through sysfs.
fix compiler warning about ignoring return value of inode_setattr
Replace the procfs hooks for list/freeze/withdraw with sysfs hooks.
use sysfs instead of procfs for list/freeze/withdraw
do nothing in withdraw (instead of BUG) until the dm hooks are ready
get to compile on 2.6.13
Pass plock requests to user space lock_dlmd through reads on misc device,
Get plock requests from kernel through misc device.
Allow "id" for the lockspace/fs to be set through sysfs;
use macro to define sysfs attributes
revert accidental change
update kernel patch generating target
update for new plock header
update for use on -mm kernels
remove old patches
replace gfs's switchable endian conversion functions with plain
remove oopses_ok option since a panic results regardless, no difference
no more oopses_ok option
no more oopses_ok
don't need to include smp_lock.h
patch from Mike Christie replacing PRI defines
slim down the printk's in assertions
Replace TRUE/FALSE with 1/0. This is a really unfortunate blow to
Pass all gfp flags to gfs2_holder_get() instead of having GFP_KERNEL
Don't reset atomic statistics counters to zero when they roll into
get rid of glock_hold/glock_put, use gfs2_glock_hold/put everywhere
more munging of gfs2_assert
more gfs2_assert munging
more trivia, replace define with enum
replace more defines with enums
tidy recurse_check
remove "get_cookie" ioctl, not used any more
tidy line breaks
replace PRIx64 with llx
apply same fixes here from gfs comments: enums, better assert
fill in the standard stuff to send plock_get to user space
define GFS2_FSNAME_LEN to use in place of 256
misc style stuff
we dumped the gfs endian conversions and use le everywhere
put back previous insmod printk
remove extra tab
remove bio counters that were kept by the diaper device
minor fixups
move a bunch of stuff from ioctl to sysfs
Pass the kobject for the fs into lm_mount() so the lock module's
The fs kobject is now passed into the lock module at mount time.
add a couple basic sysfs attributes
missed the sys_fs_uninit at unmount
add
update to work with new sysfs organization
handle sysfs dirs for both gfs1 and gfs2
move shrink and statfs_sync from ioctl to sysfs
Use kref structs and operations to do glock reference counting instead
Add comment explaining how queue_empty() is used.
update FIXME comment
don't include the kernel's lm_interface.h,
need smp_lock.h for lock_kernel()
define LM_OUT_ERROR for a lock module to return
When the dlm returns an error, return LM_OUT_ERROR to gfs instead
if the lock module returns LM_OUT_ERROR, withdraw from the cluster
missing include
withdraw if the lock module returns LM_OUT_ERROR
add a static
remove some log_debug's
refresh for latest -mm
use list_for_each
use list macro
file WHATS_NEW was initially added on branch STABLE.
Showing extended statfs info in sys set a couple people off,
Add a couple comments.
adds list_for_each_entry_safe_reverse to list.h
Use list_for_each_entry_safe_reverse.
last checkin for list_for_each_entry_safe_reverse was incomplete
use ALIGN instead of MAKE_MULT8
Port plock management from lock_dlm kernel module to lock_dlm userland
declares fs_subsys for /sys/fs/
register gfs under /sys/fs instead of /sys/kernel.
base dir in sysfs is now /sys/fs/gfs2
/sys/fs instead of /sys/kernel
comment out bits that used "statfs" entry in sysfs that's now
get block size from sb instead of defunct statfs
move quota sync and refresh to sysfs
Add comment with Ken's quota summary.
The start of a mount.gfs2 program that is called by mount(8). This
untested interaction with lock_dlmd added
default to 1 vote if no value given in cluster.conf
Remove "do mount" uevent message to user space and waiting for "mounted"
Accept connections for mount requests from mount.gfs. Do mount
Pass the correct mount options.
need EXPORT_SYMBOL_GPL
umount helper
On unmount just leave the lockspace and exit, user space umount.gfs
split depends line
Write our own reduced option parsing routine and don't bother using
build mount.gfs2 and umount.gfs2
do mount option munging on a copy of gfs's hostdata buffer
not sure why these are still here
don't use patches any more
Remove some unused functions, make others static.
dlm_find_lockspace_name is now the static one
Every file should #include the headers containing the prototypes for
Share common code between mount/umount; both about finished.
add fixme comment
look in /proc/mounts instead of /etc/mtab for gfs mounts
Code to add/del gfs entries from /etc/mtab; junk I was hoping to
extraneous
mount.gfs/umount.gfs are mount.gfs2/umount.gfs2
debugging output and options
don't restrict to gfs2
deal with gfs1/gfs2 differences better
remove option debugging
When using lock_dlm, all gfs2 unmounts would panic in
Check in Kevin Anderson's mount sync patch:
Check in Wendy Cheng's fix:
typo: not &'ing DLM_LKF_PERSISTENT with the flags
Check if allocate_lockinfo() fails.
Munging and renaming related to the merging of lock_harness into
Incorporate the lock_harness into gfs itself, just as was done for gfs2.
printk prefix GFS instead of GFS2 in merged harness code
make lock modules use modified harness interface and header from gfs
Copy the get/set vfs<->internal casting macros from stable branch to
update gfs2 description
New groupd that uses the cpg (closed process group) service from openais.
Remove the "info" params to join/leave and other related functions.
Removed group_join/leave arg.
Remove group_join/leave arg.
Remove group_join/leave arg. Need to find a new method for detecting
add nodeid to message deliver callback
Put this code back into the correct state. (This is not supposed to
include headers from ../../cman/daemon/openais/trunk/include
misc fixes getting it to work
handful of fixes
rework things so we should be closer to passing message delivery
misc fixes
more progress, can now process a join
bits for sending messages to the group
code for passing through messages, setting global id's, and
remove unused file
Munging to get this compiling again; need to define new annotated
clean out a few unused bits
Send messages (used for distributing journal id's and plocks)
Remove some old state stuff that doesn't exist any more
Comment-out withdraw stuff which depends on libdlm which doesn't
match debug messages with the same ones in other daemons
Fix leave processing, leaving node can't wait for stopped messages
Fix the check for us being in the fence domain, libgroup
update for new components
Fixing leaves.
don't need to include dlm kernel headers
use "gfs" instead of "lock_dlmd" as the group type printed by group_tool
munge header for group listing
- also build libdlm
note to help clean up in case umount(8) doesn't call umount.gfs2
add debugging to determine if the mount syscall is stuck
- When we leave a lockspace, remove the configfs entries for it.
Only send jid's to new mounters, not everyone.
don't need to zero out end of addresses any more
Uncomment withdraw stuff that uses libdlm.
when a cpg connection is closed, also clear out the poll client
return an error from group_dispatch() if the read doesn't return
check for errors returned from group_dispatch()
missed a line which broke the compile
Add event state to the set of group info we provide, and have
set the width of the name field dynamically so state info won't
Add -w option to disable the withdraw feature.
More descriptive debug messages.
- Basic recovery works.
- command string needs to be "setid", "set_id" wasn't recognized
check that the mount point exists and is a directory
Fix how we dispatch cpg callbacks; dispatch one per poll() event.
api changed to unsigned id
- Add extended event information that group_tool -v will print
- add version numbers to messages
Because cpg leaves are processed asynchronously, we can't use the
Purge messages that get queued after we're added to the cpg group
- don't process new non-recovery events while recoveries are
Enable withdraw functions by default since libdlm locking is now
Rename the daemon binary from "lock_dlmd" to "gfs_controld".
changing lock_dlmd to gfs_controld in various places
lock_dlmd now called gfs_controld
Add debug output showing the changes we get from cman.
When nodes are removed from the cluster, remove their dir in
sort listed groups by level
- If, when mounting, we receive the nodeid/jid message before processing
add
to error message
Respond to cman's TRY_SHUTDOWN callback.
Reply to cman's TRY_SHUTDOWN callback.
Daemons now exit when cman says the cluster is down.
don't let the gfs_controld lockspace prevent a cman leave
always reply yes to a cman shutdown, letting the daemons themselves
Exit if we get POLLHUP on cman fd.
Exit if we get POLLHUP from cman.
When starting up, also clear any old configfs dirs out of
When we exit because the cluster has shutdown, do a force release
If the user specifies hostdata options on the command line, they need
mount point for configfs is /sys/kernel/config, not /config
mount configfs at /sys/kernel/config, not /config
This is a significant rewrite and expansion of the code that
Add remount support which involves updating our mount mode
valid jid is >=0 not >0
A start_done() was missing in the case where the last rw
Add some more tips, and an example cluster.conf
If the last rw mounter umounts leaving only ro nodes, the remaining
byte-swap id's in inter-node messages
Remove the restrictions on when readonly mounts are allowed. As long
This should help fix a possible hang caused by a node failing at just
Fix hang if unmount overlaps recovery slightly differently, i.e. if
Look for gfs_ondisk.h in ../../gfs-kernel/src/gfs/ instead of
now need to build cman before ccs
improve some debug messages
debug statements
Major changes in handling recovery for failed nodes. Previously,
munge debug messages
recovery result values for success/gaveup reversed
When a recovery event arises while processing another recovery event,
When we get the extraneous recovery_done for our own journal when
If a bug in a client results in them doing a startdone at the
We can get more than one node reporting success in recovering
when multiple nodes failed together (in one event) we were only
in withdraw the group name wasn't being parsed from the table name
%ll print format for handles
looks like we need to build:
it's not right to use "init" to determine when to save an options
This should fix the trouble caused by nodes rejoining the cluster
fix logic that reduces debug output
An unused recovery set needs to be cleared in either cpg or cman
build all order: cman/lib, ccs, cman
make some names more descriptive of what they do
Untested fix for the case where nodeA fails, nodeB fails while
When mounting a fs, we first join the mountgroup, then tell mount.gfs
If there are no devices defined within a node's method, that method
Fix some possible problems with overlapping recoveries, and cases
When more than one node failed at once, creating an extended recovery
set stopped flag for rev->nodeid, not ev->nodeid
- id's where being removed from a recovery event's extended list
Comment out code that waits for kernel mount, it's not working
Handle case where none of the current members of the mountgroup
When a node is joining a group, has been added to the cpg, but
print out the buffer for debugging when we can't parse it
when sending the results of local journal recoveries, we weren't
Changes to the way recovery events are handled when we're already in
decrement the node count before printing debug info so we see the
only print debugging info to stderr if -D was used -- this may have
retry cpg_join() when it returns ERR_TRY_AGAIN
check that the specified mount type matches the actual fs type on disk
- re-enable the code that waits for the kernel mount in the finish()
when unrecovered nodes are set to be recovered again after sequential
when finishing an unmount for a node, we shouldn't be checking it's
Set up a separate cpg for sending messages (e.g. for processing
- get kernel types like __be64 and __u64 (used in gfs2_ondisk.h) by
- get NETLINK_KOBJECT_UEVENT definition from kernel's netlink.h
there is no dlm_tool any more
move dlm/daemon/ to group/dlm_controld/
remove daemon/ files, now in group/dlm_controld
remove lock_dlm/ files, moved to group/gfs_controld/
run configure in group/
don't syslog non-errors
update some of the build steps
change log_error to log_debug for non-error
for group_tool query, fill in members list from app perspective,
Significant reworking of how mounts are processed. The previous
Complete the code to support withdraw, not yet tested. This also
remaining withdraw bits now in recover.c
Moving the cluster infrastructure to userland introduced a new problem
- keep cman member list updated by using cman callbacks instead
don't skip fencing a node unless it's both a cman member and has
- sort out which messages should be log_debug/log_group vs
openlog("groupd", LOG_PID, LOG_DAEMON) for syslog entries
Don't finalize/terminate a local group leave until we see that all
need to include ../make/defines.mk to get {sbindir} definition
add standard script
improvements to debug messages
now that we copy out app member list for viewing, set the
remove debug printf
don't process new join/leave events without quorum
retry cpg_join and cpg_leave if error is TRY_AGAIN
posix_test_lock() args updated for 2.6.17
Fix install
fix makefile
fix compiler warnings
- extra checking and debugging when events get backlogged
gfs_controld_connect error values are < 0, not 0
- build against installed openais/cman headers and libs
to be consistent, <libcman.h> instead of "libcman.h"
build against installed headers and libs for cman and openais
build against installed cman lib and header
steps to download/build/install openais and libvolume_id tarballs
put back old check that previous commit avoided
complain and ignore a cpg confchg reason we don't understand
dispatch_fence_agent() was prototyped and called with an extra arg
set DESTDIR when installing openais
no more dlm_device module
fix up group_tool dump which was broken
fix dump len so we don't complain
debug print of the full uevent string from the kernel
- memset to 0 arrays of arg pointers
add libgfs
remove duplicate line
keep a 1MB circular buffer of debug messages, they can be dumped out
add option to dump debug messages from gfs_controld using
node A may get a start cb and send a started message, and node B may
fix up debug logging
Use system includes instead of including from configured kernel_src.
do distclean in group/
do distclean
set cmanlibdir for group
some trailing )'s were left out
needed _safe version of list_for_each_entry when moving entries
uncomment bullpap and ipmilan
use cmanincdir when building gnbd
when a kernel mount fails and we leave the mountgroup, we need to
if mount.gfs is unmounting/leaving the group because the kernel mount
have gfs2/Makefile install/uninstall mount and umount binaries itself
remove duplicate
from a couple log_debug/log_error
From: fabbione(a)ubuntu.com
keep 1MB circular buffer of debug messages that can be sent to a
'group_tool dump fence' will dump fenced's debug buffer
Update the cman member list every time we call is_member(). When
- use nodeid and owner when checking the owner of a plock instead of
'group_tool dump plocks <fsname>' can now be used to display all
- checkpoint usage for plocks is getting closer, basic writing/reading
do byte-swapping
before freeing a group struct, sanity check it's not referenced in
- complain and ignore checkpoint sections with a bad size
bring lm_interface.h in sync with the version in gfs2
Some basic stuff that I hadn't realized I'd not done back when
update lm_interface.h from version in git tree
free all plock state for an fs when it's unmounted
use the correct (global) handle when unlinking a checkpoint
if a node has a saved ckpt when it unmounts, it needs to unlink it
The idea to have the last node that did the checkpoint try to reuse it
don't send plock debugging to stdout with -D, use -P to get that now
log_debug() when we receive a withdraw message
report mount failure debug message earlier
There's been a relatively unusual problem explained in the comments that
show all options in help output
remove a couple log_error's
Code that starts groups in order of level during recovery wasn't
daemons that depend on groupd (fenced, dlm_controld, gfs_controld)
don't barf on unused args
don't barf on extra args
errors opening sysfs files are normal/expected in many cases, so
change log_plock() to log_group() for packing/unpacking plocks in
don't barf on unknown option arg
after unlinking a ckpt, don't try to close it if we don't have it open,
change debug messages related to storing/retrieving plocks to/from
when the low nodeid fails, the checkpoint needs to be unlinked,
- the check for us becoming the new low nodeid after the previous one
expand the number of cases where we don't tell gfs-kernel to do recovery
When we're in X_BEGIN state, accept "stopped" messages from other
- break from snprintf loop when buffer is filled
when we set a recovery event back to the FAIL_BEGIN state, make
tidy up a couple style things
When deciding whether we need to unlink the checkpoint and resend journals
convert write(2) calls to use do_write() which handles EINTR and
no void arg in dlm_get_fd prototype was causing warnings
handle short or interrupted reads/writes, an snprintf instead of sprintf,
- minor change to the delay we add between each cpg_mcast retry
use same retry delay on cpg sends as gfs_controld, usleep(1000)
remove stuff from dlm/nolock/harness since it all comes from upstream
undo junk mistakenly added by last commit
Use the event_nr arg provided in start_done to check if the start_done
update per the gfs2 upstream changes to the lock module interface:
handle short/interrupted writes/reads
Fixes a really stupid bug checked in yesterday that causes groupd
have groupd set the scheduler to RR priority 2, same as gfs_controld
positive return code from recover_current_event() should just indicate
Get lm_interface.h from the kernel instead of keeping a
Add debugging in four areas to help us know more quickly when something
Adding -vv to the groupd command line will result in a log_debug
put a message in syslog if we get a cpg error that we can't deal with
set the "member" field in the group_data struct that's returned
updates
gfs-kernel (gfs1) and gnbd-kernel are going to track the RHEL5 kernel
update
don't configure gfs-kernel or gnbd-kernel now that they're not built
make the number of clients a global variable so it will be easier
- check cpg flow control status from openais when processing plocks
This is a big batch of code that gets us further along the path to
add -p option to completely disable plocks/ckpts
if we get a plock request from the kernel when plocks are disabled,
Handle the case where we're the second node being added to the group
If cpg_join or cpg_leave are stuck in a retry loop, put an error
replace spaces with tabs
Handling a lot of hard situations in the areas of:
The corresponding changes to the gfs_controld changes in handling
Fix an effect of recovery mixed with joins where the node whose join
A node that was just added would incorrectly conclude that the node
fix style badness
fix typo in debug message
typo, deleting "rs" instead of "re" when cleaning stuff up
Recent changes to mount scenarios (mounts while another node is doing
we weren't cleaning everything up for a client upon POLLUP
Patch from Abhi to fix case where a node's mount is rejected by other
clean up gross code
Clear out configfs dirs that we've created before exiting.
recent commit fixing bz 210344 removed the memset so we're
When a new master joins the mountgroup, it retrieves plocks from
Add plock rate limit option -l <limit>. Current default is no limit (0).
Default plock rate limit of 10 instead of 0.
uncomment scheduler settings
fix sched_priority from sdake
if read() returns a non-EINTR error then shut down the client
if read() returns a non-EINTR error then abort
The plock rate limiting code should use the full timeval to measure
fix a couple of problems if openais enables flow control:
use timersub() macro to subtract timevals instead of coding it
handle errors or short reads when reading /dev/misc/lock_dlm_plock
if mount fails, don't try to save the mg info for the new group
the fix yesterday to prevent a segfault when mount failed mistakenly
From: Steven Dake
group_tool dump doesn't handle partial reads/writes,
Be more intelligent about handling recovery sets so we can deal with
change the default plock rate limit from 10 to 100
Before doing the mount-group portion of withdraw, fork off a dmsetup to
Pass gfs_controld the device being mounted, it'll use this if it
When lockfs is called from the vfs (due to a dm suspend), don't try
Call into the lock module to do a withdraw instead of just calling BUG.
very useful testing program I wrote a long time ago
tidy up some prints
add lock_flood/unlock_flood/unlock_flood-exit commands to test doing
groupd's function that returns info for group status queries was
Switch from CMAN_DISPATCH_ONE loop to CMAN_DISPATCH_ALL to resolve
Switch from CMAN_DISPATCH_ONE loop to CMAN_DISPATCH_ALL to resolve
revert last checkin
When the first mounter is recovering all the journals, it should use
Fixes related to the needs_recovery state and first-mounter recovery.
Support mounting a single fs on multiple mount points.
mount/umount modifications of /etc/mtab weren't smart enough
added "flood n mode" function a while ago, doesn't equate to pjc's
groupd creates uint32 global id's for each group. It doesn't
add -K option to enable dlm kernel log_debug's
Move memset(0) into the for loop so we're clearing the data buffer
test program like gfs's 'alternate' but using an lvb instead of a file.
join lockspace, optionally sleep, leave the lockspace.
If the only two groups were two dlm lockspaces, then during recovery,
clear configfs stuff if we get SIGTERM, this is a convenience if you
remove the self paramter (sync up with RHEL5 branch)
lots of changes, biggest is new "stress" test
updates
un-comment-out gfs-kernel and gnbd-kernel since they now build on
latest version, "stress" test running correctly
Look for a protocol setting in cluster.conf dlm section, and set
Use realpath(3) to canonicalize path names for device and mount point.
Check right away if the kernel has gfs/gfs2 support by looking in
change some mount error conditions to log_error() instead of log_debug()
various changes
Look in cluster.conf dlm section for protocol, timewarn, and log_debug
Make new features available based on recent dlm kernel patches.
add dlm_tool, can be used to join/leave lockspace
use dlm/Makefile to build lib and tool dirs
don't do gfs_sb_print() if we don't detect a gfs fs, it often just
Add dlm_ls_deadlock_cancel() that allows a system daemon to cancel
bunch of stuff to test new features
report an error if no lockspace name is provided
return a different error number to mount.gfs for each specific failure
translate different error numbers from gfs_controld into specific,
(copy from RHEL5 branch)
Return 1 or 0 GETLK result to the kernel for conflict/no-conflict.
log an error message if we see mount.gfs killed before it's done
Block SIGINT (^C) around the three steps of mount:
s/unsigned long/unsigned long long/
- add more specific warnings/errors when connecting to gfs_controld fails
Various small changes and additions. Munging formatting to avoid
add a bunch of casts to quiet warnings on x86-64
Make gfs-kernel compile against post-2.6.22 (2.6.23-rc) kernels.
add lockdump and option to set permission of dlm device when creating
recent cleanup of warnings should have specified unsigned in long long
Brute-force porting to 2.6.23-rc1. There are non-trivial changes for
add new code to find and resolve deadlocks, still incomplete, disabled
dlm_tool deadlock_check <name> is a way to manually kick off a deadlock
minor updates for cluster-2.01.00
sdake says that DESTDIR=/ is correct, not /usr
Remove check_sys_fs() since it breaks on-demand fs module loading from the
fill in a couple more bits related to canceling the chosen lock
don't add the same transaction to a waitfor list more than once
Detection and resolution now works with my basic deadlock tests.
put back the ability to do pid-based deadlock detection on 5.1 kernels
clean out junk that was only relevant to rhel4
clean out some options that were only relevant to rhel4
Update fence, fenced, fence_tool and fence_node man pages which were
add man pages
mention fencing override, describe the structure of node fencing
add man page
minor updates
Outline the basic ideas of multiple methods and multiple devices.
Vastly simplify this man page. Include no cman or fencing information
install dlm_tool.8
add makefile
install in man dir
handle addition/removal/failure of nodes during a deadlock cycle
Call the new cman_set_dirty() api to disallow clusters both with
update ccs man pages
the NODIR new_lockspace flag was always being used, even if the -d
the -m mode option was being ignored and 0600 always used
proper help output for -m option
comment out the new cman_set_dirty() call; it's not working
mention group_tool should be used instead of cman_tool services
use an admin handle from cman to call set_dirty
add new test for deadlocks
fix attribute xml format for cluster_id and keyfile
rewording and embellishing some bits related to openais.conf
needed to be a little more thorough in taking a canceled transaction
dstress fixes
I think I added this years ago, forget why
Reject mount attempts on an fs that's still in the process of unmounting.
report that a mount fails due to an in-progress unmount
go back to a default of -O0 instead of -O2 to get the stuff with -Werror
forgot the 0 after the -O
Do nodedown events when the confchg for the groupd cpg arrives,
go back to default of -02 now that -Werror problems are fixed
The output of 'dlm_tool lockdump' could make it appear that a granted
used wrong define, DLM_LOCK_ instead of LKM_
Improve the dumping of debug logs from daemons.
don't setup netlink if deadlock is disabled
xid needs to be unsigned long long
ASSERT was doing fprintf(stderr) which goes somewhere we don't want
A performance optimization for plocks. This speeds up locks that are
Testing revealed a couple more races I hadn't expected.
change some log messages
new plock ownership related stuff
fix %llx printf warnings using (unsigned long long)
odds and ends not commited
bz 429546
updates
groupd: purge messages from dead nodes
dlm_tool: print correct rq mode in lockdump
libdlm: fix lvb copying
dlm_controld: new version
dlm_controld: quorum checking
libdlm: max name length sanity
dlm_controld: max name length sanity
gfs: don't cancel glocks when writing to hidden file
gfs_controld: retry recovery for withdrawn journal
fenced: new version
fenced: more new devel
dlm_controld: build plock code
fenced: new libfenced interface
fence: using new libs
fenced: process queries in a thread
fenced: allow queries during fencing; group queries
fence: fence_tool list and fenced_domain_nodes()
fence_tool: fix list command
libdlm: use linux/dlm.h from 2.6.26-rc
libdlmcontrol: new lib interface to dlm_controld
dlm_controld: fix build problems in previous commit
libdlmcontrol: filling out code
dlm_controld: filling out code
dlm_controld: code for info/debug queries
dlm_tool: add libdlmcontrol query commands
daemons: mostly daemonization stuff
daemons: queries
dlm_controld: fix waiting for removed node
dlm_controld: options to disable fencing/quorum dependency
dlm_controld: dlm_tool query fixes
dlm_tool: refine list output
dlm_controld: remove unworking re-merge detection
dlm_controld/gfs_controld: ignore write(2) return value on plock dev
dlm_controld: use started_count to detect remerges
gfs_controld: rename files
gfs_controld: move recover.c
gfs_controld: restructuring
gfs_controld: new version
dlm_controld/gfs_controld: minor fixes
gfs_controld: basic fixes
fenced: revert logsys commits
fenced: use logsys
fence_node: use simple logsys api
fenced/fence_node: use SYSLOGLEVEL
fenced: link with liblogsys
gfs_controld: support queries from gfs_control
gfs_controld: add query code
gfs_controld: add journal for new node
fenced/dlm_controld/gfs_controld: ccs/cman setup
fenced/dlm_controld: fix quorum waiting
fenced: tune logsys settings
groupd: sync daemon setup/structure with others
fenced: enable new logsys mode flag
fenced: fix logsys define
dlm_controld: set id before recovery
gfs_controld: change start message from new members
gfs_controld: add missing endian conversion
gfs_controld: byte swap ids earlier
gfs_controld: close dlm_controld connection
fenced: improved start messages
fenced: munge config option code
fenced: debug logsys options
dlm_controld: improved start messages
fenced: complete messages copy start messages
fenced: munge logging
dlm_controld: use logsys
gfs_controld: use logsys
dlm_controld/gfs_controld: add logging.c file
groupd: use logsys
groupd: detect group_mode
fenced: use group_mode detection
dlm_controld: use group_mode detection
gfs_controld: use group_mode detection
fence_tool: add domain member checks
dlm_controld: allow early fs_register
gfs_controld: register with dlm_controld earlier
libdlm: remove device node creation/removal
dlm_tool: handle all join flags
group_tool: use mode from groupd
fenced: finishing off query stuff
dlm_controld: queries in libgroup mode
libdlm: handle truncated device names
gfs_controld: queries in libgroup mode
dlm_controld: fs_register and fs_result fixes
dlm_controld: kill the cluster on misbehaving nodes
dlm_controld: fix nodeid in fs_result
gfs_controld: fix fs_notify during recovery
dlm_controld: open dlm-monitor misc device
gfs_controld: kill the cluster on misbehaving nodes
fenced: kill the cluster on misbehaving nodes
groupd: remove detection of uncontrolled kernel dlm and gfs
dlm_controld: isolate cman and fence code
fenced: add skip_undefined option
gfs_controld: ignore dlm uevents
groupd: fix daemon quit on SIGTERM
fence_tool: new option to delay before join
init.d/cman: use fence_tool -m for two node clusters
fenced: joining daemon cpg to bypass fencing
fenced: handle merge of cpg partition
dlm_controld/gfs_controld: handle merge of cpg partition
libdlm: /dev/misc/dlm-control created by udev
fence_tool/dlm_tool/gfs_control: improve ls output format
mount.gfs: fix mount error handling
gfs_controld: ignore second leave
gfs_controld: fix and implement remount
dlm_controld: ignore old plock dev when using new one
gfs_controld: withdraw and recovery fixes
gfs_controld: ignore uevents after first_done
gfs_controld: add protocol negotiation
dlm_controld: add protocol negotiation
fenced: add protocol negotiation
fenced/fence_tool: improve list info
fence_tool/dlm_tool/gfs_control: remove error message
daemons/tools: misc minor cleanups and improvements
dlm/fence: daemon fixes and tool improvements
gfs_control: improve ls output
fenced/dlm_controld/gfs_controld: modify a debug message
dlm_controld: fix plock dump
groupd/fenced/dlm_controld/gfs_controld: init logging after fork
gfs_controld: move log_error message
fenced/dlm_controld/gfs_controld: query thread mutex
gfs_controld: simplify misc device handling and fix plock dump
dlm_controld: enable calls into deadlock code
dlm_controld: fix the recent realloc fix in deadlock code
dlm_controld: join should return error without fence domain
libfence: remove ccs reconnect code
libfence: no logging
dlm_controld: clear plock syncing flags
fence_tool: refuse to leave if dlm lockspaces exist
group_tool: show groupd compat info
fenced/dlm_controld/gfs_controld: config update reread
libccs: update ccs_read_logging
liblogthread: new options
liblogthread: time stamp when entry is added
fenced: new logging stuff
groupd: new logging stuff
liblogthread: improve thread handling
dlm_controld: new logging stuff
gfs_controld: new logging stuff
liblogthread: add LOG_MODE_OUTPUT_STDERR
groupd/fenced/dlm_controld/gfs_controld: log macros
fence_node: use logthread
groupd/fenced/dlm_controld/gfs_controld: don't retry ccs_connect
groupd/fenced/dlm_controld/gfs_controld: startup info messages
groupd: libcpg mode can skip some more libgroup stuff
fenced/dlm_controld/gfs_controld: log exiting message only once
fenced/dlm_controld/gfs_controld: error handling in groupd detection
fenced: log protocol message type
liblogthread: do nothing without init
groupd/fenced/dlm_controld/gfs_controld: log logging settings
dlm_controld: recv error checking
libccs: fix ccs_read_config
groupd/fenced/dlm_controld/gfs_controld: get logfile from ccs
fenced/dlm_controld/gfs_controld: improve groupd waiting
gfs_controld: cannot connect to dlm_controld error
group_tool: fix dump
gfs_controld/dlm_controld: fix lock syncing in ownership mode
dlm_controld/gfs_controld: plock dump display resource owner
gfs_controld: use new uevent strings
dlm_controld/gfs_controld: plock config paths
dlm_controld/gfs_controld: fix plock rate limiting
dlm_controld/gfs_controld: dump unused resources
dlm_controld/gfs_controld: read lockless resources from ckpts
dlm_tool: lockdebug using new debugfs file
dlm_tool: change to new debugfs scan
gfs_controld: remove groupd compat
gfs_controld: replace cman with cfg
gfs_controld: cpg_finalize
gfs_controld: don't exit from query thread
gfs_controld: dlm_controld failure is cluster_dead
gfs_controld: wait for dlm registration
gfs_controld: fix lockfile
gfs_control: ls failure should exit with failure
gfs_controld: new libcpg api
gfs_controld:
gfs_control: fix shadow warnings
gfs_controld: include mg name prefix in log messages
gfs_controld: copy some fenced changes
Revert "gfs_controld: Remove three unused functions"
gfs_controld: watch cluster membership
Fabio M. Di Nitto (559):
Use resrules-noccs in dtest build target
Fix build on parisc
Commit new build system as proposed and discussed on cluster-devel mailing list:
Remove unused vars
Fix gfs2 identity exit code path
allow to specify --fence_agents="list of fence agents"
both libccs and daemon were building and linking common/log.c.
When the project switched away from magma, we forgot to enable IPv6 for
pretty self explanatory, this code is not used anywhere. Get rid of it.
Readd ipv6 support to ccs_tool update and add verbose option
Remove dead code
Fix build system. Thanks to Alasdair for spotting the error
Rrestore the make dependencies within the same subproject (same as it
Remove unused files.
* Fix incdir usage across the entire tree so that:
Fix LDFLAGS override:
Fix dlm/tool install and clean target
both gnbd and gfs1 need some love for .22..
Remove old dead code from the tree.
Wave goodbye to libcman bits :)
Make sure to cleanup the buffer when processing each request or dirty data
Fix build on ia64 by adding a temporary workaround and make sure to wrap
Overload Makefile to give Lon a build target and keep the style consistent
Fix build on parisc as we did for ia64
Clean up some Makefiles that did not use proper openaisincdir and dlmincdir.
group/ now depends libdlm. Express this new dependency in top level Makefile
add clean: target or make clean will fail.
Remove redundant gfs_ondisk.h from gfs/include/ and gfs2/include/
Allow the full cluster suite to build using external kernel source.
Cleanup FOO_RELEASE_NAME to RELEASE_VERSION
Fix build with gcc-4.2
Remove ddraid from CVS HEAD.
Remove cs-deploy-tool from CVS HEAD.
Remove fence/agents/xen from CVS HEAD.
Add dlm/tests/Makefile
-Wall is added by default in CFLAGS via configure to make/defines.mk.
change the default CFLAGS to "-Wall -O2 -g".
Remove obsoleted Makefile
Clean up cman/tests/Makefile
Cleanup gfs/tests/ Makefiles
Cleanup group/test/Makefile
This is the first patch of a long series to collect common Makefile targets
Cleanup clumon/ as agreed on cluster-dev
Fix build warning
Remove old code. ACK by Lon
Collect all common make targets for fence/agents written in perl
Collect common make targets for fence/agents written in python
So in this first patch (that seems the most urgent one):
Fix more warnings when building with -O2 and also fix get_rmtabd_loglevel
Fix configure and Makefiles to cope with kernel built with O=/path...
white space cleanup
Fix uninstall target
Add support to allow disable the build/install targets for each specific
switch permanently to perl -w
configure: Backticks don't work in strings. Use POSIX::uname().
Fix configure to handle properly 0.x or x.0 releases.
Use proper vars to disable targets
Fix purely cosmetic typo
Clean up duplicate ccs query paths
Use right vars to print debugging info
Use standard path var and memset it before each query
Apply, rework and cleanup second part of patch from Marco Ceci to fix 354421
If votes for quorumd is _not_ specified in cluster.conf, then
Add cman_wait_init as wrapper for cman_admin_init/cman_init and cman_is_quorate
Remove cman_wait_init for now. It was becoming overly complicated for such
Clean up STRIP usage. It is not consistent and we shouldn't strip random
The new Makefile system never invokes LD directly (and this is a good thing).
Be consistent across the entire tree on AR and RANLIB invocations
Hard encode paths to (u)mount.gfs*
Fix bugzilla 362031
Switch configure to use perl warnings and fix them up.
Do not install stripped binaries
Make sure we invoke virConnectOpen with a proper URI. NULL is deprecated
Fix extracflags and extraldflags to be recognized as options or configure will
Cleanup leftovers from the very old build system. We were using a very complex
* globally rename BUILDDIR to SRCDIR to reflect what it really is.
Fix 2 corner cases when setting up the objdir:
Minor objdir rework to extend flexibility.
Fix clean target
Use newly defined $(OBJDIR) to source .mk files snippet.
A long time ago we did start collecting common Makefile snippets in one
Collaps all man Makefile's common snippets into man/man.mk
Install forgotten dlm man pages.
Remove obsolete and unused Makefile
apply alpha sort :)
Collapse all common clean: target bits into make/clean.mk generalclean: target.
Remove unrequired distclean targets
Convert to use make/clean.mk
Collapse all install: and uninstall: targets in make/install.mk make/uninstall.mk
Fix a few regressions introduced by the big Makefile clean up:
Fix fence build dependencies. For too long we did rely on fence/Makefile
Fix gnbd build dependencies. For too long we did rely on gnbd/Makefile
Fix all: target.
Once again change ifdef to fix fail to build on hppa/parisc
Fix build with -DDEBUG
Fix building when -DDEBUG is defined.
Fix error reporting to aisexec.
aisexec config parser expects error_string to be set also when we successfully
Add interpreter to ocf-shellfuncs.
Cleanup manpages to work with whatis.
Fix buffer align. So far this one makes the entire stack run on sparc
Fix clean target. core files have pid attached to them.
makes it possible to change the default configuration file by setting
Fix "off the source tree" install. This was a small regression introduced
Fix mkdir invokation to not fail when dir already exists
Fix alignment issues in rgmanager. This makes it possible to run rgmanager
Whitespace cleanup
Allow the resource to run on Debian/Ubuntu systems without manual patching,
Add fake support for -r option at umount so we don't fail if gfs2 is not umounted
Update gnbd kernel modules to build with 2.6.24
EXPORT_SYMBOL(xtime) has been removed in 2.6.24.
Update gfs to cope with 2.6.24 export op changes and other bits
fix gfs for the removal of sendfile and helper functions
Remove unused variable
Fix build warning
Bump kernel check to 2.6.24
Remove obsolete file
Red Hat bugzilla 244343:
Bugzilla 227892:
Remove unrequire functions. This follow gfs2 changes
Whitespace cleanup
Stop linking against unrequired libraries.
Cleanup man page.
Man page cleanup.
Clean up qdisk man page.
Fix http://bugs.debian.org/465790
Sync missing commit from RHEL5 branch:
[CMAN] Move ccs config ais module into ccs/ccsais
[BUILD] Fix configure script to handle releases
[CCS] Upload all subsystem configs into objdb
Add toplevel .gitignore
[BUILD] Allow release version to contain padding 0's
[CCS] Fix xml -> objdb config import
[CCS] Cleanup duplicate vars from previous commit
[CCS] Fix possible memory corruption on double free
[CMAN] Drop dependency on libdevmapper
[CMAN] Fix building when -DDEBUG is not specified
[BUILD] Fix handling of version and libraries soname
[BUILD] Update .gitignore for .o and .d files
[BUILD] Set -MMD as default CFLAGS
[BUILD] Fix man page install permission
[CMAN] Fix config handling
[CMAN] Do not duplicate entries in the objdb
[CMAN] qdisk: add credits to Joel
[FENCE] Enable fence_apc_snmp
[FENCE] apc_snmp: allow paths to snmp binaries to be configurable
[BUILD] Remove extra debugging entry
[BUILD] Fix fenceperl and fencepy make snippets to allow multiple targets
[BUILD] Add fencelibdir support
[BUILD] add enable_experimental_fence_agents configure option
[FENCE] Move apc_snmp README where it belongs
[FENCE] Move apc_snmp README where it belongs
[FENCE] Remove obsoleted fence_apc perl implementation
[BUILD] Royal cleanup of the fence agents build system
[BUILD] Enable build and install of experimental fence agents
[FENCE] Fix fencelib to pring version and copyright
[FENCE] Make sure to version and copyright all built files
[BUILD] Fix clean target for experimental fence/agents/lib
Revert "Fix help message to refer to script as 'fence_scsi_test'."
Revert "fix bz277781 by accepting "nodename" as a synonym for "node""
[KERNEL] Update modules to build with 2.6.25
[GFS2] Fix build warning
[BUILD] Add --enable_crack_of_the_day configure option
[BUILD] Fix typo
[BUILD] Set automatically cflags when building experimental bits
[GROUP] Fix building with standard kernels
Revert "gfs2_tool: Fix build warnings in misc.c bz 441636"
[BUILD] Fix clean target
[RGMANAGER] Fix build with gcc4.3
[GFS2] Fix build warning
[rgmanager] Remove obsolete clushutdown utility
[CCS] libraries should never log
[CCS] Convert to logsys
[MISC] Update copyright headers
[MISC] Update Red Hat main copyright file
[BUILD] Deal with the new libfence properly
[BUILD] Fix install/uninstall targets for fence/agents/lib
[BUILD] Allow users to set default log dir and syslog facility
[CCS] Switch to use user selected logdir and syslogfacility
[CMAN] Convert qdiskd to use logsys
[CMAN] Use build/user defined default logging facility
[CCS] Document -d (debugging) switch
[CCS] Allow ccsd logging level and facility to be set by cluster.conf
[BUILD] Deal with new libfenced
[BUILD] Fix building with separate object dir
[BUILD] Fix kernel check for good
[BUILD] Fix fence lib install target
[GROUP] Apply patch to make gfs_controld work with 2.6.26
[FENCE] Enable new fence agents by default
[RGMANAGER] Fix uninstall target
[BUILD] Fix build order. Gotta love circular build depends...
[CMAN] Setup logging file
[BUILD] Change build system to cope with new libdlmcontrol
libdlm: fix libdlmcontrol in Makefile
[CMAN] Do not query ccs as it might not be the right config plugin
[CCS] Detach dependency on ccsd to run the cluster
[CCS] Fix build with gcc-4.3
[CMAN] Set default syslog facility at build time
[BUILD] Allow users to set path to init.d
[MISC] Fix build errors with Fedora default build options
[MISC] Fix more build errors with Fedora default build options
[MISC] Fix even more build errors with Fedora default build options
[BUILD] Fix install when building from a separate tree
[MISC] Fix some gfs2 build warnings
[BUILD] Require 2.6.26 kernel to build
[GNBD] Update gnbd to work with 2.6.26
[GFS] Make gfs build with 2.6.26 (DO NOT USE!)
[RGMANAGER] ^M's are good for DOS, bad for UNIX
[BUILD] Move fencelib in /usr/share
[MISC] Cast some love to init scripts
[CMAN] Fix path to cman_tool
[FENCE] Rename bladecenter as it should be .pl -> .py
[DLM] Remove unused header file
[BUILD] Add --without_kernel_modules configure option
[BUILD] Free toplevel config/ dir
[CONFIG] Create config/ subsystem
[CONFIG] Add missing Makefiles
[CCS] Make a bunch of functions static
[BUILD] Stop using DEVEL.DATE library soname
[GFS] Fix comment
[INIT] Do not start services automatically
[GFS] Sync with gfs2 init script
[BUILD] Fix sparc #ifdef according to the new gcc tables
[MISC] Update copyright
[BUILD] Fix build order
Merge branch 'master' of ssh://sources.redhat.com/git/cluster
[BUILD] Fix dlm_controld linking
[BUILD] Fix rg_test linking
[BUILD] Fix install permissions
[GFS2] Use proper include dir for libvolume_id
[FENCE] Fix copyright header for fence_ifmib manpage
[FENCE] Fix ifmib README to report the right fence agent
[BUILD] Plugin the new shiny fence_ifmib agent
[CCS] Use absolute path for queries
[CONFIG] Fix lots of bugs in libccsconfdb
[BUILD] Add fence_lpar fencing agent to the build system
[GFS] remove symlink to umount.gfs2
[GROUP] libgfscontrol: fix build with gcc-4.3
[BUILD] Change build system to cope with new libgfscontrol
[BUILD] gfs2 requires group to build
[BUILD] Fix mount.gfs2 build
[MISC] Make several API's private again
[CONFIG] Add full xpath support to libccs
[CMAN] Bump library version
[BUILD] Switch libdlmcontrol back to shared library
[BUILD] Collapse common library makefile bits in libs.mk
[MISC] Remove obsolete and empty files
[MISC] Add top level licence files
[MISC] Cleanup licence, copyright and header duplication
[MISC] Tree cleanup
[BUILD] Prepare infrastructure for perl/python bindings
[GNBD/FENCE] Move fence_gnbd agent where it belongs
[MISC] Update top level copyright file
[BUILD] Fix file permissions all around
[MISC] Whitespace cleanup
[MISC] Relicence rgmanager/src/resources/oracledb.sh under GPLv2+
[GFS] Remove obsoleted gfs_edit in favour of gfs2_edit
[MISC] Remove osl-2.1 exception from README.licence
[MISC] Add original author for cman/qdisk/disk.c
[MISC] Remove old copyright
[MISC] Add another exception to COPYRIGHT
[GFS2] Add missing include and fix build warning
[QDISK] Add better support for Xen virtual block devices
[CCS] Fix build warnings on sparc
[CCS] Add missing CCSEXIT call
[CCS] Fix priority setting
[CCS] Fix a few logsys configuration bits
[CCS] Remove duplicate code and make it common
[CCS] Remove LOG_MODE_DISPLAY_DEBUG from logsys settings
[CCS] Init logsys as early as possible
[CCS] Shrink more common code for internal xml queries
[CCS] Add cosmetic CCSENTER/EXIT for simple xml queries
[CCS] Improve logsys init order
[CCS] Fix improper log level on debugging information
[CCS] Convert ccs logsys config to the ais format
[QDISK] Fix build with new openais logsys
[QDISK] Fix debug type
[QDISK] Make get_config_data static
[QDISK] get_config_data cleanup
[QDISK] Remove duplicate debugging configuration
[QDISK] Clean handling of debug envvar
[QDISK] Init logsys later in the process
[QDISK] Major clean up
[BUILD] Fix new gfs_controld Makefile
[CCS] Always check for debug setting as first thing
[CCS] Fix debug override from command line vs config
[QDISK] Port qdisk to the new logsys config interface
[MISC] Logging: optimizing query sequence
[FENCE] Start porting fenced to logsys
[FENCE] Make fenced ready to load logsys config
[FENCE] Move logsys configuration calls where they belong
[CCS] Set debug from syslog_level only when requested
[QDISK] Set debug from syslog_level only when requested
[FENCE] Allow fenced to configure logsys
[FENCE] fenced: separate concept of fork and debugging
[CCS] Use common syslog facility
[FENCE] fence_node: use logsys for logging to syslog
[CMAN] Remove unrequired includes
[FENCE] fenced: update man page
[GFS2] hexedit does not need syslog
[FENCE] fence_tool: document "ls"
[CCS] Remove duplicate header
[CONFIG] Make sure to reset xml index in not in list mode
[CONFIG] Add cluster.conf direct loader
[CONFIG] Fix several bugs in XML parsing implementations
[BUILD] Add configure options for libldap
[BUILD] Allow configuration of docdir
[BUILD] Fix docdir default path
[BUILD] Add install/uninstall snippets for documents
[BUILD] Install ldap schemas and example in document directory
[MISC] Documentation cleanup
[BUILD] Fix install of telnet_ssl
[BUILD] Fix telnet_ssl build
[BUILD] Allow users to configure default built-in syslog level
[MISC] Use default configured SYSLOGLEVEL across the tree
[BUILD] Add make oldconfig target
[MISC] Update .gitignore
[MISC] Fix logging file query
[CONFIG] Fix loadldap include
[BUILD] Plug confdb to ldap tool
[MISC] Create and install logrotate file
[BUILD] Clean extra kernel modules files
[MISC] Fix build with newer toolchain
[CCS] Fix LEGACY_CODE ifdef
[BUILD] Implement --enable_legacy_code in the build system
[BUILD] Add ccs_test replacement when building legacy_code
[BUILD] Fix ccs.h include path
[BUILD] Fix doc install target when building objects outside source tree
[CCS] Kill obsolted ccs_test
[RGMANAGER] Port all resource agents to new ccs interface
[RGMANAGER] Port smb resource agent to ccs_tool
[BUILD] Fix race condition in oldconfig update/execution
[RGMANAGER] Use proper ccs_tool query output
[BUILD] Fix ccs_tool/ccs_test build with new compat code
[CCS] Inflict hopefully last compat issues love to ccs_t*
Revert "[RGMANAGER] Use proper ccs_tool query output"
[RGMANAGER] Port ccs_get to proper ccs_tool output
[RGMANGER] Fix call to ccs_tool
[BUILD] Fix ccs_tool linking dir order
[BUILD] Fix logrotate snippet filename
[FENCE] Sync fence_apc_snmp from RHEL47 branch
[BUILD] Fix LOGDIR usage
[FENCE] Fix fence_apc_snmp logging
[BUILD] Cleanup linking order for logsys
[BUILD] Cleanup groupd makefile
build: update .gitignore
Revert "fence: port scsi agent to use ccs_tool query and drop XML::LibXML requirement"
Revert "fence: simplify init script"
Revert "rgmanger: remove check on cluster.conf from rgmanager init script"
rgmanger: remove check on cluster.conf from rgmanager init script
fence: simplify init script
fence: port scsi agent to use ccs_tool query and drop XML::LibXML requirement
rgmanager: fix clean target
cman: init script should not user cluster.conf directly
rgmanager: init script does not need network config
config: allow users to override default config file in xmlconfig
test commit
Revert "test commit"
bindings: add first cut of perl Cluster:CCS
bindings: improve Cluster::CCS description
build: clean up perl bindings build system
misc: clean up "char const *" vs "const char *"
init: standardize init scripts to /etc/sysconfig/cluster
build: fix bindings build when using external object tree
bindings: fix CCS.pm doc
fence: remove unrequired headers from rackswitch
build: fix several issues related to install and build targets
build: drop "all" dependency from install: targets
ccs: move to the new logsys init API
qdisk: port to new logsys api
build: properly respect non standard libdir and incdir
ccs: turn more ccs_tool code into legacy code
build: fix ccs_test symlink install target
cman: make sure not to umount configfs when there are other users
config: fix objdb2xml filtering
rgmanager: unbreak locking in clulib
libccs: add support for /child::*[%d]/ for xpathlite
build: add support for corosync
build: bump kernel requirement to 2.6.27
cman: make ccsd startup optional and allow override of config loader
config: move ccs/ccs_tool to config/tools/ccs_tool
cman: switch default config parser to xmlconfig
ccs: libccscompat don't include unrequired header
ccs: move debug.h to ccs/daemon
ccs: move comm_headers.h to ccs/daemon
config: move generic documenation and man pages to config/man
ccs: move libccscompat into config/libs and mark it legacy code
ccs: move ccsais plugin to config/plugins/ccsais and mark it legacy code
ccs: move ccs/daemon to config/daemons/ccds and mark it legacy code
build: define legacy_code=1 on clean target
libccs: add support for /child::*[%d]/ for xpathlite
qdisk: allow scan of sysfs to dive into first level symlinks
qdisk: fix sysfs path diving
build: create contrib/ top level section
build: add contrib/Makefile
build: plugin askant in our build system
misc: remove exec bits from different files
build: rename --enable_xen to --enable_virt
build: add --without_config build option
build: bump library soname to 3.0
cman: init script best to require $time
build: fix clean target of contrib section
config: make more functions static
ccs: libccsconfdb header cleanup
misc: init scripts clean up
libdlm: major cleanup
rgmanger: fix handling of VIP v6
ccs: deal with xml file format special case
fence: update alom description
fence: install fence_alom man page
misc: cleanup ifdefs around RELEASE_VERSION
dlm/fence/gfs: fix daemon spinning 100% due to memory corruption
fence egenera: fix logging file
rgmanager: fix build after port to logsys
misc: cleanup copyright.... again
misc: fix gfs2_edit build
fence: update man page for fence_apc
gfs2: randomize debugfs mount point
gfs2: randomize file for savemeta operations
gfs2: remove unused define
rgmanager: randomize file for automatic data dump
rgmanager: randomize ASEHAagent temp files
rgmanager: move fs.sh log file where they belong
rgmanager: move nfsclient.sh cache files where they belong
rgmanager: move oracledb.sh log files where they belong
build: reinstate targets in rgmanager metadata check
rgmanager: randomize SAPDatabase temp file
libgfs2: randomize creation of temporary directories for metafs mount
xmlconfig: remove debugging fprintf
ccs: implement config reload in legacy ccs
cman: add /libccs/@next_handle support
ccs: libccs major rework pass 1
ccs: libccs split ccs_lookup_nodename into extras.c
ccs: libccs major rework pass 2
ccs: libccs major rework pass 3
ccs: libccs major rework pass 4
ccs: remove duplicate entry in internal header file
ccs: libccs major rework pass 5
common: plug liblogthread in the system
build: use standard syslog priority name rather than corosync
ccs: add ccs_read_logging
ccsais: fix buffer overflow when reading huge config files
xmlconfig: fix buffer overflow when reading huge config files
ccs: cleanup ccs_read_logging
gfs2: randomize debugfs mount point even more
gfs2: randomize file for savemeta operations even more
rgmanager: move state dump file where it belongs
rgmanager: randomize ASEHAagent temp files even more
rgmanager: randomize SAPDatabase temp file even more
rgmanager: randomize oracledb.sh temp file
misc: fix mktemp usage
rgmanager: randomize smb.sh temp file
rgmanager: randomize svclib_nfslock temp dir
gfs2: randomize creation of temporary directories for metafs mount more
cman: make cluster_parent_handle function specific
cman: implement reload operations for cman-preconfig
cman: implement and simplify configuration reload operations
cman: update man page for reload operations
dlm_controld: handle cman config update notifications
gfs_controld: handle cman config update notifications
groupd: handle cman config update notifications
rgmanager: Fix smb.sh shell scripting
logthread: fix usage of syslog(3)
cman: add new daemon for notification to custom bits
cman notify: add call back to external script
cman notification: add shell and build infrastructure
cman notify: update init script
fence scsi: plugin reload notification script into cmannotifyd
cman notifyd: add man page
cman notify: add note to man page
cman notify: add script template to doc/
cman notify: add logging to cman_notify
cman notify: fix a few bits in the shell area
cman notify: wait for forked process to terminate..
cman notifyd: export quorum information on statechange
ccs: libccs implement reload operations
ccs: simplify libccs reload code
build: prefer init scripts generated in the objdir rather than source
init scripts: major rework to make them distro agnostic
build: fix kernel module install dir to respect DESTDIR
rgmanger: fix build system
libccs: cleanup
build: respect build: respect EXTRA_CFLAGS in cobj.mk
libfence: use ccs_connect instead of force_connect.
config: fix loading of multiple objects with no subojects
build: allow libs to have indipendent sonames
build: change error string
gnbd: remove from cluster project
xmlconfig: major rework
cman: port notifyd to new logthread api
build: fix missing ${logtlibdir} for linking
build: allow system to use zlib in non standard paths
cman: make init script stop cmannotifyd
build: fix fence_node Makefile
cman: reenable stderr output in notifyd
fence: install virsh fence agent man page
libccs: build with latest corosync
dlm_controld: include saAis from openais
build: fix dlm_controld makefile
build: fix fence agents man page Makefile
build: install fence_vmware_vi bits in the appropriate locations
build: don't set exec bit on built files.
build: install fence_vmware_vi_helper in sbindir
build: fix typo and get rgmanager to build again
build: fix fence_scsi installation bits
dlm_controld: stop linking against logsys
logthread: filter messages to stderr to respect logging priorities
libccsconfdb: do not allow logfile_priority to override debug.
ccsd: port to logthread infrastructure
build: restore original behaviour when building groupd
qdisk: fix mkqdisk output
config: time to say goodbye to ccsd
new gfs2-utils master test commit
split tree into separate projects
build: install libgfscontrol static lib and header file
gfs2: improve init script
build: fix gfs2 init script Makefile
misc: Update copyright for 2009
build: remove reference to libgroup
build: bump kernel requirements to 2.6.28
gfs2: fix binary and manpage names
build: stricter install invokation
build/init: install/create common dirs
build: add FORCESBINT install/uninstall target
gfs2: fsck and mkfs binaries should be in /sbin
build: fix install target for SBINSYMT.
build: propagate relative info about /sbin vs sbindir
gfs2: use relative links
misc: drop obsoleted bits
build: fix doc Makefile to stub targets
gfs2: sync gfs_ondisk.h from gfs1-utils
gfs2: fix build warnings spotted by paranoia cflags
gfs2: restore libgfs2.h vfprintf call
gfs2: fix endian conversion
gfs2: don't swab in place
build: drop dependency on libvolume_id
build: convert to autoconf/automake/libtool
build: drop volume_id from autoconf
build: cleanup autogen and stop warnings on configure
build: create m4 dir upfront
I tried to build using the latest autogen.sh and got errors.
gfs2: drop dead test code
gfs2: handle output conversion properly
gfs2: add missing casts
libgfscontrol: fix const warnings
libgfscontrol: make functions static
gfs_control: fix const warnings
gfs_control: make functions static
gfs_controld: fix function declaration
gfs_controld: fix const warnings
group: fix void arithmetic
group: fix print formats
gfs_controld: fix declaration warning
build: drop build dependency on python
build: check for libquorum
build: relax autotools requirement
gfs2: fix build failure
misc: update copyright year across the board
gfs2: make init script LSB compliant
Goldwyn Rodrigues (4):
tunegfs2: Initial framework
tunegfs2: Add operations to modify the superblock
tunegfs2: Modify Makefiles/configure scripts
tunegfs2: Change default install path /usr/sbin
James Parsons (34):
Fixes bz172464; adds WTI RPS10 agent to build
Fix for bz168698
Fixed typing designation for var
Fix for bz176375 regression
Added fence_bladecenter back in to install list
added explanation of new auth type switch
rsa support
fixed typos
man page for fence_rsa
Fix for bz168698
Support for drac 4/I
Addresses interface change in drac_mc firmware version 1.2
Fixed copy - paste error in usage
file Makefile was initially added on branch RHEL4.
file README_SNMP was initially added on branch RHEL4.
file fence_apc_snmp was initially added on branch RHEL4.
file fence_apc_snmp.py was initially added on branch RHEL4.
file powernet369.mib was initially added on branch RHEL4.
Makefile and cool new scsi agent renamed to match convention.
Added support for new fence_scsi agent
Added new fence_scsi agent support
remove this file in preference for the version with filetype extension, like other agents. The Makefile generates the version for the sbin dir without extension.
Removed BULL refs from man page
addresses bz193065
ignored unused args from stdin
Ignore unused args to stdin
Support for DRAC ERA
file fence_baytech.py was initially added on branch RHEL4.
bz222234
fix for bz205457
fix for bz220946
New apc agent written in python that supports named outlets and outlet groups, minus perl pain. Addresses bz172179 and bz134489. yee haw
Fix for bz238106, new firmware version issues
Fix for 251358
Jan Friesse (25):
fence: Fence agent for VMware ESX
cman: Removed old Perl version of VMware fence agent, so new version is built.
fence: Fix fence agent for VMware ESX.
fence: Fix fence agent for VMware ESX.
Fence: Added fence agent for Sun Advanced Lights Out Manager (ALOM)
fence: New fence agent for Logical Domains (LDOMs)
[fence] Fence agent for ePowerSwitch 8M+ (fence_eps)
[fence] Fixed man pages makefile, so fence_eps.8 is now installed.
fence: Added support for no_password in fence agents library and fence_eps.
fence: Fixed case sensitives in action parameter.
fence: Fix -C switch description in Python library
fence: Operation 'list' and 'monitor' for Alom, LDOM, VMware and ePowerSwitch
fence: Fix operation 'list' and 'monitor' for LDOM and ePowerSwitch
fence: New fence agent for VMware using vmrun command.
fence: IPMI over lan timeout adjusted and configurable
fence: fix IPMI parameters containing special characters
fence: fix IPMI typo in help
fence: fix IPMI spawn /bin/bash rather than /bin/sh
fence: fix IPMI man page
fence: fix IPMI over lan to support ciphersuite select
fence: Add libvirt (virsh) based agent
fence: Set binary on telnet connections
fence: Added fence agent based on VMware VI API
fence: VMware VI helper path fix
fence: VMware VI better handling of "strange" names
Jim Meyering (13):
don't dereference NULL upon failed realloc
* fence/agents/xvm/ip_lookup.c (add_ip): Handle malloc failure.
* gfs/gfs_fsck/inode.c (check_inode): handle failed malloc
remove dead code (useless test of memset return value)
add comments marking unchecked malloc calls
Remove unused local variable, buf,
add comments marking unchecked strdup calls
handle some malloc failures
Use automake's sbin_PROGRAMS, rather than writing our own rules.
don't dereference NULL for a hostdata string with no "="
hexedit: avoid NULL dereference upon failed malloc
Revert "hexedit: avoid NULL dereference upon failed malloc"
install mkfs.gfs2 into /sbin, not /usr/sbin
Joel Becker (1):
libdlm: Don't pass LKF_WAIT to the kernel
Jonathan Brassow (153):
- targets to build outside the kernel.
- add ability to compile outside kernel
- make gnbd buildable outside kernel
- update make files
- you meant clu_fence not cp_fence, I assume.
- check in patch for making links correctly in make file
- change log code to not print log_msg if verbose is not set.
- work around broken exit
- add targets to the make file for updating subtrees to latest tags.
- couple changes to make files
- remember to closedir()
- update configure scripts to set %{libdir} to /usr/lib
- sometimes getsockopt would report that bcast was enabled when it wasn't.
- add some man pages
- multicast option is not ready yet. Fail if it is specified.
- when cman shuts down (as when cman_tool leave happens) close the connection
- must zero out rset variable before populating.
- specifying a cluster name is only valid when the force command is used.
- add cmd to remove old libs that were located in /lib (as part of the
- allow ccs to reload config file if the node is quorate (covers the
- the sm plugin for magma seems to emit CE_NULL instead of CE_MEMB_CHANGE
- misc prog for magma.
ccs is located in 7, not 8
- ccs is located in 7 not 8
- incorrect synopsis
- take a stab at the cluster.conf.5 man page
- move some stuff around.
- cman_tool.8 was still referenced in the cman_tool directory
- it wasn't a good idea to add rm -f /lib/libmagma* to the make file
- don't need the gfs_eattr man page, as the tool no longer exists
- forgot to remove eattr from the Makefile
- use indexing rather than ccs list handling to retrieve node names
- correctly specify the libdir in configure as /usr/lib
- a couple minor updates to multicast code
- this should get rid of the ENETUNREACH problems... as well as the
- fix memory leak + other minor anoyances
- fix make clean so it cleans up binaries in bin dirs
- remove unneeded print
- fix for bug rbz 132680
- fix for bug rbz134282 (bad handling of port number specification)
- fix problem that generated a circular dependency
- change a log_msg to log_err, so that the error is printed even if the
- ensure that the config_version is an integer
- fix seg fault that occurs when querying ccs with desc that is too large
- cluster mirror
- forgot the uninstall script
- add cmirror target
- a little clean-up
- make the "in_sync" flag log based (rather than module-based) this
- remove some print statements and refine todo list
- update example cluster.conf to reflect changes in tag names
- updates for new cluster.conf tags
- update docs to reflect tag name changes in cluster.conf
- updates to reflect tag name changes in cluster.conf
- updates to reflect change in cluster.conf tags
- updated fence_devices/device, but forgot nodes/node
- Add message (that prints when -v flag is used with ccsd) that
- add log_msg_always macro, which prints a msg of priority NOTICE
- fix bug 143165, 134604, and 133254 - update related issues
- fix a problem where if the working path was set (via ccs_set_state()),
- minor updates to ccs_tool
- fix bug: 128422 (ccsd grabs network config silently if local is bad)
- fix bug 128662, ccs_test connect <clustername>: connects to local
- remove log_msg_always
- add ccs_tool to Makefile
- report better errors (especially in the event that magma plugins aren't
- some cmirror changes that have been sitting around.
- if a lockfile can not be created, print that ccsd is already running.
- forward port bug fix 133254
- fix for bug #137021 ccs doesn't find most recent cluster.conf
IF YOU USE CCS, YOU WILL WANT TO READ THIS:
- sync with changes made to RHEL4 branch
- ccs_tool now handles the update process.
- warn every 30 sec (vs 10) if ccsd can not connect to cluster
- add ccs_tool man page
- fix bug with update when absolute path was specified.
- better error reporting when there are multiple concurrent updates
- fix the CCS archive -> xml conversion for the gulm section
- ccs(7) not ccs(8)
- fence_node has been change to work better with gulm (143487)
- add -V and -h to ccs_test
- missing break statement, thanks to Bastian Blank
- replace an instance of ccs_get with ccs_get_list
- commit man page changes from Bastian Blank
- commit changes to dm-log_cluster.c before its break-up
- break the cluster mirror file into separate files
- fix senario where a server dying could leave clients with regions marked
- commit changes so I don't loose them.
- no cman on upgrade.
- typos
- remove cmirror target
- fix SEG FAULT
- Teigland's patch to make CCS skip clustering and just read the local
- fix for bug 157094
- use umask so that permissions on /etc/cluster/cluster.conf are -rw-r-----
- last commit before major changes... don't want to loose this.
- Bring back up to sync with latest mirror changes
- cluster mirror is working again, but requires patches to kernel
- add cluster "core" log support
- don't call complete() on failure_completion if we are in "core" mode.
- do not call completion on every suspend, it increments a counter
- Fix cmirror bugs
- s/uint32_t/sector_t for get_region_size return
- millennium latency fix for 2.6
- commit Lon's patch
- endian fixes so heterogenious clusters can work WTR CCS
- Make the init script do a cman_tool leave remove on stop. Restarts
- ccs_tool can seg fault on upgrade bug 186121
- This is the beginning of the cluster mirror log rewrite. The
- filling out client side logging implementation (patches sent previously)
- cmirror is not ready to compile in HEAD
lsnodes -> lsnode typo.
Bug 236580: [HA LVM]: Bringing site back on-line after failure causes pr...
People seem to think that they have to setup lvm in rgmanager even though they
If misconfigured, HA LVM + mirroring can cause data corruption. We should
Require vg_name to be unique. Allowing multiple LVs from the same VG
<Previous check-in>
file Makefile was initially added on branch RHEL5.
file cmirror was initially added on branch RHEL5.
file clogd.c was initially added on branch RHEL5.
file cluster.c was initially added on branch RHEL5.
file cluster.h was initially added on branch RHEL5.
file common.h was initially added on branch RHEL5.
file functions.c was initially added on branch RHEL5.
file functions.h was initially added on branch RHEL5.
file link_mon.c was initially added on branch RHEL5.
file link_mon.h was initially added on branch RHEL5.
file list.h was initially added on branch RHEL5.
file local.c was initially added on branch RHEL5.
file local.h was initially added on branch RHEL5.
file logging.c was initially added on branch RHEL5.
file logging.h was initially added on branch RHEL5.
file queues.c was initially added on branch RHEL5.
file queues.h was initially added on branch RHEL5.
file dm-log.h-copy was initially added on branch RHEL5.
file dm.h-copy was initially added on branch RHEL5.
file rbtree.c was initially added on branch RHEL5.
file rbtree.h was initially added on branch RHEL5.
BUG 427377
s/validate/verify/
lvm resource script now allows multiple LVs per VG as long as they move
- a regression... When tagging at the LV-level, the script should complain
- Bug #428448
- ccs library now checks for bad file descriptors as input
- better checking for improper setup
- Bug 431705: HA LVM should prevent users from running an invalid setup (2)
rgmanager/lvm.sh: Fix bug 438816
rgmanager/lvm.sh: Fix bug bz242798
rgmanager/lvm.sh: change argument order of shell command
rgmanager/lvm.sh: Minor comment updates
rgmanager/lvm.metadata: Fix parameter description fields
rgmanager/lvm.sh: HA LVM wasn't working on IA64
rgmanager (HALVM): Stop dumping debug output to /tmp
Ken Preslan (151):
HCH's suggested cleanups to the GFS mount/unmount code.
Make sure the VFS ACL code is compiled in if GFS in enabled.
Switch to using a fixed version of OGFS' shell sort.
Bring patch uptodate with the sources.
Change the way a switch statement works to prevent GCC from doing stupid
Reordered munging of modes on inode create.
Suiddir support suggested by anton(a)hq.310.ru.
Update to 2.6.8.1.
Helper scripts for "gfs_tool lockdump".
Reimplemented the flock patch to work similarly to the new way plocks
Munge.
Rearrange some asserts.
Patches for a kernel that supports the new plock interface.
Fix s_maxbytes.
Print out PIDs.
Rework patch to fit with Trond's comments.
Update patches.
Ben Cahill's new man page.
Get rid of some pool crap.
Get rid of a couple more 2TB checks.
o Fix the BLKGETSIZE64 ioctl for Linux 2.6.
The -mm kernel that includes our flock patch.
Dave pointed out that I screwed up plocks.
Added "cmd" argument to lm_plock().
Great comments from ben.m.cahill(a)intel.com.
Add a missing -Wall.
Whitespace munging.
This should be a fix for bug #126531.
Do better asserting in glock_hold().
Make an assert be more verbose.
A command line tool that's a bit smarter about reading a GFS filesystem
blerg.
Munge.
Break compound assert into two.
Fix a few bugs in the eattr/acl code.
A patch from ben.m.cahill(a)intel.com to install the gfs_mount man page.
More comments from ben.m.cahill(a)intel.com.
Munging capitalization and other stuff.
Print a message before, as well as after, trying to mount the lock
o Support for immutable and append-only files with a lot of help from
I killed a bunch of people once.
o Fix bug #135249 with a lot of help from Dave Teigland. Ever since the
Formatting.
Don't align the glock hash buckets. The gfs_sbd structure is now about
Stuff all of the assert message into the panic call.
Update patch.
Update to 2.6.9. (Lock_dlm and lock_gulm are broken until updated by
Stop compiler warnings.
Whitespace munging.
Fix bug #126952
Fix minor permissions issue.
More comments from ben.m.cahill(a)intel.com.
o Fix bug #135684. Change code to make sure a RG is part of the "recent"
Fix my stupidity.
Add some locking to the recent list and forward pointer when tearing
Formatting munge.
o Fix bug #133368. Change the code to trigger calls to lm_cancel() on
Get rid of unneeded file.
o Fix things so a freeze call requesting the transaction lock can't
Missed a use of the async flag that was just removed.
Many more good comments from ben.m.cahill(a)intel.com.
Clean up the statfs code some.
o Clean up some memory allocation code
Get rid of unneeded return value.
When updating the atime, don't demote the glock back to shared unless
More comments from ben.m.cahill(a)intel.com.
Update.
Fix a spot where we weren't propagating away errors.
Declare the RO array in gfs_sort() staticly instead of dynamicly on the
o Add "oopses_ok" mount option. This allows GFS to oops instead of
D'oh. Missed some files.
More excellent comments from ben.m.cahill(a)intel.com.
Fix bug #141821. KNFSD could call into GFS to do a lookup on ".." of
Got rid of some unused LM flags.
Get rid of the kernel patch. Not a battle worth fighting. Sigh.
Munge.
TASK_INTERRUPTIBLE -> TASK_UNINTERRUPTIBLE.
More comments from ben.m.cahill(a)intel.com.
o Add facility to stop all block I/O from a filesystem by setting a
Add code to implement "gfs_tool withdraw /mountpoint".
Fix a case where the resource index isn't propery released on error.
Fixed a reference leak of lock module in-use counts that was caused by
Dave's changes to allow "gfs_tool [freeze|unfreeze|withdraw]" to work
o Changed GFS ioctls so purely incore binary structures aren't used.
Get rid of -P option. It should be replace with CLVM labeling later.
Update patch.
Add new file.
Reworked gfs_printf().
Fix statfs bug.
Profiling/tracing stuff.
Incore printing / profiling / tracing library.
Some 2.6.10 stuff.
Update patches.
Start using the new generic permission checking code in 2.6.10.
Print a better message when versions mismatch.
Copyright/GPL.
Unbreak the user tools.
Cleanup.
Don't complain if we stall trying to make a log reservation.
Don't complain about uninit()ing busy log buffers if we're shutdown.
Change diaper so it doesn't return errors if the filesystem is already
Don't let stale/invalid data leak up to userspace on a read() from a
Fix a bug in a memset().
Probable fix for BZ#146711.
When running the "gfs_tool <something> <mountpoint>" commands (e.g.
Add some more fields to the lockdump print out.
Forward-port Tadpol's 146711 fix.
Bastian Blank <bastian(a)waldi.eu.org>'s manpage munging.
Linux 2.6.11.
Compiling is always nice.
Add "debug" mount option. Causes gfs_assert_warn() and gfs_lm_withdraw()
Munged printk() ordering.
Add a new "flags" parameter to lm_mount() of the lock module interface.
Change it so a spectator has a 's' instead of the jid in its fsid.
Fix precedence error.
Start including gfs_debug in the build.
Fix bug #154902:
Rearrange order so it actually compiles.
Let there be compilation!
Quit yer whining.
GFS2. Still a work in progress. But it should be faster.
Remove some debug code.
Rearrange some assignments to work with gcc4.
Add some new block types.
Fuzzy statfs():
Get rid of an osi_.
Add back NFS support.
Fix ACL leak.
munge.
Don't do write_inode if we're PF_MEMALLOC.
o Honor "data=ordered" for truncates
Fix broken makefile.
Munge.
Fix a misinitialization in the diaper device.
Unlock the page when erroring out of writepage().
Clean up journaled data code and metadata I/O code.
Add "gfs2_tool getargs" to get the gfs-specific mount arguments used to
Fix problem of writepage() needing to map blocks at weird times when
Update.
o Add back code to support gfs2_grow and gfs2_jadd.
gfs2_jadd and gfs2_grow.
Fix a couple of rename() bugs.
Refix a problem with the rename lock. Don't associate it with rename
Fix bug #129468
Fix BZ158133.
munge
Fix BZ158133.
o Changed the lookup so it doesn't need to take the new inode's glock.
o Allow the appropriate FS-specific mount options to be changed on remount
Fix errors on rebuilds.
o Fix a bug I introduced that would keep GFS from replaying a journal on
Lon Hohberger (498):
Replace missing clu_fence() API call.
Fixes from Ben Marzinski
Magma plugins API fixes for GuLM, CMAN, CMAN/SM
Fix build problems; fix plugins to not use cml_free
Fix build problems breaking open(/usr/lib/magma/plugins, O_DIRECTORY...)
Fix wrong-side of ipv6 addr->node ID assignment
Display node IDs as 64-bit hex
Make dumb driver act like there's a real, one-node cluster.
Rename variables/macros/structures to not use leading __
Fix breakage in SM plugin when querying group membership w/o logging in; install in /usr
Cleanup of useless variable
Remove old message encapsulation pieces and dependency on crc32.c
Make ccsd give element name back with relevant cdata
Fix mutex deadlocks around cluster lock/unlock calls
Remove crc32.c & build req. on it.
Initial checkin of rgmanager
Change cflags to make it build on newer compilers for now
Clean up build
Temporary sledgehammer lock fix
Unbreak gulm.
* src/resources/*: Add status/monitor actions to metadata
Fix build
OCF Actions + Autostart param addition
Periodic status checks, updated resource agents, misc. bugfixes
dumb was requiring libxml2 to build for no reason
Remove MAX_MSG_SIZE limitation
Zero out struct sockaddr_in6 structures before using...
Update tasks
First pass at resource tree deltas (tested).
Port from clumanager 1.2.x: potential fix for #114388
Remove MAX_MSG_SIZE limitation
Add Doxyfile. Add lots of Doxygen-readable comments to code.
More comments
More doxygen stuff
Remove references to handlers for RAs. They're not needed.
Handle default value in RA parameters
Use libdlm_lt with cman and sm plugins (removes dependency on dlm_pthread_*). Also make all the return value semantics match.
Add cp_connect() function to library. Make cptester only use cp_* functions.
Per Patrick's comments: open/create lockspace when first lock is taken instead of at init time.
Make all the different libdlm targets use -fPIC during builds for proper symbol relocation on x86_64
Ensure we wait for the AST during the unlock as well as the lock. Simplify
(1) Split up thread and non-thread libraries so applications which do not
Take out unnecessary printfs. Change to match with new memb_lost/gained
Change to match magma API changes (clu_members_lost->memb_lost)
Fix bug feist was seeing during builds on x86_64
Copy changes to old cman plugin.
Fix warning on x86_64
Fix x86_64 build warnings
Add preliminary netfs (NFS) and clusterfs (e.g. GFS) resource agents.
Removed. Replaced by clusterfs.sh/netfs.sh
* Pass SHAREDIR to build.
Prune tree when a child type is not allowed
Remove mallocdbg files + refs. Give ourselves ways to free/clear out
Remove mallocdbg references.
Clear out references to mallocdbg. Remove mallocdbg files.
Don't free old block if realloc fails
No longer needed.
Fix changes WRT bash 3. Use the 'ip' command instead of ifcfg for now.
Clean up bad mallocdbg stuff
Add support for the widely-used RPS-10M-HD modules. (2 node clusters ONLY)
Use -n instead of -p for port number. Ignore case for options read from stdin. Actually handle -v argument.
- Add support for "-o" option to control on/off/reboot.
Add checks to make sure the nfs daemons are running.
- Read configuration data before joining the service group
Re-enable support for specifying target nodes for enable/disable/etc.
Reflect jparsons's changes to cluster.conf structure
Fix relocate on more-preferred-member-boot; fix minor bugs in building alloc.c
Fix up circleping to work properly.
- include/resgroup.h: Remove unnecessary states/requests. Add
src/daemons/Makefile: Remove debugging compiler flag
Display all cluster members if we're not part of the RG manager group.
Unbreak init script
Make script actually work. Fire wall ports are corrected, but the
Fix segfault if rgmanager wasn't running
Put in decent errno values for cp_connect so callers can find out what happened when it failed.
Kill a bunch of assertions. Return EINVAL when we try to access functions from a nonexistent plugin
Report a usable reason when clu_connect fails.
Fix bug that mantis saw; we shouldn't log in with newlines
Fix for 44945
Use libdir/magma for plugins
Fix magma plugin names + installation paths to match LIBDIR/magma
amd64 fix
Fix build bug on slackware
Include bonded-ethernet link detection
file nfs-tests was initially added on branch RHEL4.
Add make check, ra-api-1-modified.dtd for validating ra metadata
Internal consistency check tests for rgmanager's tree/list.
Fix memory leaks as a result of not cleaning up libxml2; move test functions into test.c
Merge from RHEL-4 branch: internal test cases, make-check target, actually install man pages
Clean up negative memory-leak testing
Merge from RHEL4 branch: man pages, error documentation + indexing
Index of error messages
Merge from RHEL4 branch
Use {libdir} for {slibdir} if no slibdir specifed on configure's command
Use {libdir} for {slibdir} if no slibdir specified
Clean up lock spaces so we can unload dlm module
Kill clufindhostname; its functionality isn't used, and can be provided by things like host(1)
Include rg name in clustat -x output
fix #146924
Misc. fixes; see changelog.
Add support for Bull NovaScale machines via ipmi-over-lan and PAP management console
#149522 #150067. Part of #149735. See ChangeLog.
Implement basic recovery policy handling
Zero out cm_addrs when reading /proc/cluster/services for a member list
Fix part 2 of #150079
Fix build problem.
Add -h for clustat / clusvcadm
Fix for multiple simultaneous leaves not being handled properly
Misc. bugfixes
Fix 150481, part 2
Change to arch-dependent char instead of uint8_t
Properly cast
Show stdin options with -h
Clusterfs.sh / fs.sh fixups
add resource rule printout to rg_test
Fix 151095
Fix various bugzillas (see ChangeLog)
Use service instead of resourcegroup as root resource to match the UI and user expected behavior / terminology
fix warning
add init.d to install set
Fix timeout bugs
Fix bonding link detection (port from clumanager 1.2.26)
Fix options description
Add NBB1600 support + fix IPS800[CE] support
Fix GCC4 warnings
msg_init isn't ready yet; remove for now
Fix timeouts for 32-way bull machines
Fix frim Birger
Arbitrary resource tree patch
Fix 157248
Fix file descriptor leak in services.c
Fix fd leak, change resource-group -> service, fix node ID display
Fix API change: we no longer get Logged_out after Fenced
Bull PAP + Bull IPMI-over-LAN support
fix targetted relocation bug when running with gulm
Fix arg parsing
Fix arg swap problem when reading from stdin
Fix for example.conf
Make magma_ucman deliver CE_SHUTDOWN when it should; make magma_tool ignore SIGPIPE so it can trap for closed sockets.
Ask for node name instead of for the existence of children from ccs
Don't assume child nodes exist just because someone asks for them
Add patch from Frederik Schueler to remove implicit dependency on rdisc
Add Patrick's initial fence_xen to fence Xen virtual machines.
Fix bug in ip.sh which would match 10.1.1.1 as being the same as 10.1.1.111
Don't use _syscall macro, patch from Adam Conrad
\Fix 162805\
Fix type causing verify-all to not work properly
Apply patch from Eric Kerin to fix #162824, fix #162936
fix 157327
Fix 159637
Fix 163651
Fix 159767
fix 162501
fix 164627
Fix 167216 -- ip.sh script errors
Fix Joe Orton's comments re: calling ld instead of gcc -shared...
Ensure proper linking
Add VMWare ESX server fencing from Zach Lowry
Clustat partial rewrite (still needs updated XML output)
Incorporate patch from 165447
Don't build clufindhostname; it's not even in the tree
Add support for inheritance in the form "type%attribute" instead of just
Mono-NFS server support (e.g. one NFS server per cluster, active-passive).
Add logging library
Mono-NFS server resource agent
Fix #171253
Ensure rgmanager doesn't block SIGSEGV when debug is not enabled.
Apply patch from Axel Thimm to fix bz172066
Fix bugs 172177, 172178
Fix rest of 172178
Fix #172401
Fix for 172441 from jparsons
Fix #162605
Allow scripts to inherit the name attr of a parent in case the script wants to know it (#172310)
Fix #165447 - ip.sh fails when using VLAN on bonded interface
Fix #171153 - pass 1 - clustat withholds information if run on multiple members simultaneously
Fix #171236 - pass 1 - ia64 alignment warnings
Fix #173526 - Samba Resource Agent
Fix #173916 - rgmanager log level change requires restart
Fix #174819 - clustat crashes if ccsd is not running
Fix #175106 - lsof -b blocks when using gethostbyname causing slow force-unmount when DNS is broken
Fix #175108 - rgmanager storing extraneous info using VF
Fix #175114 - rgmanager uses wrong stop-order for unspecified resource agents
Implement 175215: Inherit fsid for nfs exports
Fix #175229 - remove unneeded references to clurmtabd; it is no longer a necessary piece for NFS failover
Fix #175033 - magma-plugins incorrect read behavior for /proc/cluster/services > 4096 bytes
Bump SM plugin version
Fix #175033 part 2 - read in page-size chunks from /proc/cluster/services
Fix 176343 - __builtin_return_address(x) for x>0 is never guaranteed to work
Merge ccsd local socket patch from RHEL4 / STABLE
Add CLK_HOLDER flag: Tells the plugin to return an allocated uint64_t; #178024 - also fixes incorrect API documentation in man page
Fix 178026 - provide lock holder on request from SM. Fix 178080 - implements work around dlm release 177934 by taking a NULL lock on lockspace acquire.
Fix #166109 - random segfault in clurgmgrd. Fix most of 177467 - clustat hang (does not fix the case where the lock manager never responds to a request). Fix bug in smb.sh associated with ccs descriptors > 255.
Fix #178249 - debug messages from gulm.so
Fix broken build
Fix 178249 - pass 2
Fix 179063 - some options missing from nfsclient option handler
fix #179662
Agent fixes for #178314
Add simple scoring/disk-based quorum daemon
Fix build on 64-bit arches
Start of ripping out dependency on magma; builds but does not currently work
Patch from Fabio Massimo Di Nitto: Fix includes
Include missing .c files in src/clulib; remove defunct src/daemons/members.c
Implements 'label' support for qdisk. Uses /proc/partitions for device
Fix includes for build on ia64
- Make rgmanager actually do things.
Fix missing/non-updated #includes
Patch for in-tree builds from Fabio M. Di Nitto. <fabbione at ubuntu.com>
Fix #198406 - lack of ipv6 support in clufindhostname.c
Add missing xenvm.sh resource
Fix licensing information in resources
*** empty log message ***
Add preliminary live-migration support (e.g. for Xen for FC6
Fix typo in Makefile
Add man pages for qdisk
fix 200449 - status checks wrong
* src/clulib/ckpt_state.c: Preliminary implementation of replacement
Fix parameter ordering for calling cman_send_data_unlocked
Fix relocation & transition handling
Apply Navid's patch to -head
2006-08-18 Lon Hohberger <lhh at redhat.com>
Fix 200776 - mixed up default log level constants
2006-08-21 Lon Hohberger <lhh at redhat.com>
2006-09-01 Lon Hohberger <lhh at redhat.com>
Apply resource-instance-name.patch
Fix failed->disabled state transitions; #208011
Fix various bugs, incl. 208011, 203762
Apply patch from Fabio M. Di Nitto to fix clustat service name expansion bug
Clean up build
Fix 202498
Fix segfault due to missing param
Fix #208577
Implementation of client/server based Xen Virtual Machine (xvm) fencing.
Add --enable_xen configuration option (off by default), and make sure -V flag works for fence_xvm[d]
Fix #208115
Fix #202497
Fixed 202492, not 202497...
Ancillary patch to fix 202492 and actually add back groupmember attr, not just rgmanager (per-node) attr
Fix #209544 - umount failing on gfs/nfs services
Updated xenvm resource agent
Compatibility fix for resource agents between linux-cluster and linux-ha
Fix 202637 - error reporting missing from some agents
Roll back patch to clusterfs.sh
Roll back patch to resrules.c
Fix #211701 (rgmanager + clustat hangs), #211933 (xenvm rename -> vm)
Fix #212074
Update Changelog
Apply patch to fix build on newer kernels from Fabio M. Di Nitto <fabbione at ubuntu.com>
Fix bugzillas #212444, #212433
Fix bugzilla #212474; fully integrates fence_xvmd with ccs & the cman init script
Fix error reporting from cman if run while xend is not running.
Fix #213218
Fix #213878 - segfault in rg_thread.c due to improper loop semantics
Fix bug reported by Fabio M. Di Nitto - duplicate definition of assign_noccs
Fix bug where fence agents were getting info up to groupd
Handle 0.1.9 case of libvirt returning a virDomainPtr + state for a VM that doesn't exist (vm state == VIR_DOMAIN_SHUTOFF)
Fix build error
Fix segfault in clustat if node is not a cluster member
Fix #211468 - clustat always returns 0, but should give a nonzero code for non-running services.
Fix #216774; missed rg_thread.c
Fix #216774
Fix #216774, pass 3
Implement cap on max # of outstanding status check threads; fixes bugzilla #218697
Resolves: #221210
Fix bug causing cluster.conf / rm log level to be ignored in resource agents
Apply patch from Simone Gotti; fixes #222744/#222838
Resolves: #222485; patch from Simone Gotti
Fix #222961 - required for Conga to work.
Resolves bugzillas: #213533, #216092, #220211, #223002, #223234/#223240
Simple manual override for fenced & example replacement for fence_ack_manual
Use /proc/uptime by default instead of gettimeofday(2) for internal timings to avoid problems when the clock is reset by NTP
Patch from Fabio Massimo Di Nitto - Fix portability of getuptime function
Fix #222484
merge fixes from RHEL5 branch
Clean up test cases
Add override for action timings
Add list_prepend macro
Port fix for logging of errors in config from RHEL5 branch
Fix 223519
Add error reporting if msg_open fails; patch from Josef Whiter
Don't query rgmanager if the user only wants a node state
Apply fixes from RHEL4 branch
Remove fence_manual; only provide manual-failure override
Make service.sh understand lvm RA type
Add RA installs to trunk; Make sure utility stuff is installed in the right place
Add member_util.sh functions
Add member_util.sh to installation
Fix missing copytobin target for RHEL4 branch
Add LVM failover agent; by Jon Brassow
Fix 229254 - extraneous man pages, 228823 - allow disable of services stuck in 'stopping' state
Initial checkin of simple dependency engine
Add missing comment
Check in missing header
Remove ancient / unused script
Add example test configuration for dtest
Resolves: 229338
Resolves: 222445
Fix anonuid/anongid parsing in nfsclient.sh
Make status checks happen at 'start' time (parent-before-child) instead of 'stop' time (parent-after-child).
Resolves: 231151
Fix missing newline in debug message
Add open failure message
Fix 213241
Fix help message
Strings cleanup. Enable vm.sh live migration.
Apply build cleanup patch from Fabio M. Di Nitto
Force release of lockspace; patch from Patrick Caulfield
Fix clean target; patch from Fabio M. Di Nitto
Fix multimaster bug: ensure timings are accurate and provide multi-master conflict resolution
Use more strict build options
Merge ordering patch from RHEL4 branch; update automated test cases
Remove dead code; fix build_tree loop
Merge patch from Crosswalk team
Fix SPARC / HPPA build; patch from Fabio M. Di Nitto
Kill VM machine immediately; patch from Jeroen van den Horn
allow ocfs[2] to work with the clusterfs resource agent. Also, commit patch which corrects interval processing for status operations
Make agents more OCF (Open Cluster Famework) compliant
Fix watchdog race on rgmanager exit; BZ#236204, patch from Andrey Mirkin
fix depends.h/depends.c
Add obvious requirement on shared resource case as suggested by Simone Gotti
Fix dtest.c compile errors
Cleanups to make the resource agents behave better (return OCF_NOT_RUNNING, for example)
Apply patch from Andrey Mirkin to fix 237144
Apply patch from Simone Gotti to fix logging errors in clusterfs.sh
Fix bug 234589
Fix #231521
Re-fix #222484
Add patch from Simone Gotti to implement service freeze/unfreeze. Add simple buffer handling for later use.
Fix corner case reported in #212121
Add test case from RHEL4 branch
Apply patch to fix bugzilla # 232140
Add SAPInstance and SAPDatabase resource agents to HEAD
Readding SAPInstance/SAPDatabase
Add SAP agents; resolves #238916
Make manual fencing's command line parser backward compatible; per dct
Fix typos in resource script logging
Add missing primary keys to SAP agents
Update
Fix 234249, 229650
Fix #229650 - part 2; fixes an uninitialized var problem
Fix status check
Fix type size for 32/64-bit mixed clusters
Fix #243691/2
Fix update failure if node was fenced
Make exclusive resources work again
Fix missing label
Fix full-virt rebooting (#243872); add local-only / no-cluster mode to fence_xvmd
Ancillary patch to fix debug output
Clean up testprog in make clean
Make lan+ work if built as a STONITH module
Remove testprog target.
Merge from RHEL5 branch
Add note to usage.txt for configuring on 64-bit environments
Fix #237144 - pass 2. All testcases accounted for now.
Resolves: 247488
Misc. bugfixes; see ChangeLog
Fix #249758
Fix #250152
Fix bug #248727
Fix build problem
Fix #248727, round 2
Fix uninitialized var
Fix #229650, pass 3
Fix #258141 - possible use after free in fenced
Make fence_xvmd read options from ccs like it should; merge dbg_printf patch from RHEL5 branch
Make fence_xvmd read options from ccs like it should
Include missing debug.h header file
Merges from RHEL5 branch - round 1.
Merges from RHEL5 branch - round 2.
Merge from RHEL5 branch, pass 3
Add centralized S/Lang event script engine v0.8.1
Merge force-unmount from RHEL5 branch for netfs.sh script
Preliminary GFS2 support in clusterfs.sh
Add missing sets.h
Fix format warnings on newer GCC
Make S-Lang library & include paths configurable.
Fix type-punned errors on i386
Add missing ds.h
Misc. minor central processing bugfixes
Add return value for inability to run due to exclusive flag being present
Fix misc central events bugs.
fix typo in clusterfs.sh
Fix #254111 - when stopping a service using a shared GFS resource, it umounts it even if other services are using it.
Allow soft dependencies when central_processing is enabled
Fix endian issue on big-endian arches
Correct signed vs. unsigned comparison on sparc64
Figure out where slang is installed.
Fix build problem reported by Chris Feist
Roll back previous patch to ip_lookup.c
Fix #60 error in #428346 bug
file oracledb.sh was initially added on branch RHEL5.
fix 429248
Fix ccs connect error handling
Unblock signals after fork() so heuristics using signals don't hang
Fix #430272, #430220
Fix qdiskd master abdication logic (#430264)
Make default TTL 4 instead of 2 per Fabio's recommendation (e.g. RFC2608). Make TTL configurable in cluster.conf/command line for fence_xvm.
Make fenced's override wait time configurable.
Fix short read handling in read_pipe
Correct incorrect netmask handling in ip.sh
* Make fence_ack_manual.sh accept -n
Fix #435189 - fenced override doesn't allow rgmanager to recover because
Merge branch 'master' of ssh://lhh@sources.redhat.com/git/cluster
Add Sybase failover agent
Update changelog
Add / fix Oracle 10g failover agent
Merge branch 'master' of ssh://lhh@sources.redhat.com/git/cluster
[fence] Make fence_xvmd support reloading of key files on the fly.
[CMAN] Fix "Node X is undead" loop bug
[rgmanager] Don't call quotaoff if quotas are not used
[rgmanager] Make ip.sh check link states of non-ethernet devices
[rgmanager] Set cloexec bit in msg_socket.c
[rgmanager] Fix #432998
[rgmanager] Remove unused lockspace.c file
[cman] Merge scandisk & fixes from RHEL5 branch
[cman] Fix qdisk Makefile / disk_util merge bugs
[cman] Make mkqdisk print all device paths
[cman] Apply missing fix for #315711
[cman/qdisk] Fix type pun errors in proc.c
[CMAN] Make cman init script start qdiskd intelligently
Revert "[CMAN] Make cman init script start qdiskd intelligently"
[CMAN] Make cman init script start qdiskd intelligently
[fence] Preliminary TPS/NBB/NPS support in new WTI agent.
[fence] Close file descriptors that are in invalid/error states
Remove clushutdown man page references from clusvcadm.8; resolves #324151
[cman] Close sockets in error state in gfs_controld / dlmtest2 / groupd test
[rgmanager] Fix #441582 - symlinks in mount points causing failures
[rgmanager] Apply patch from Marcelo Azevedo to make migration more robust
[rgmanager] Fix live migration option (broken in last commit)
[rgmanager] Use /cluster/rm instead of //rm
Fix #362351 - make fence_xvmd work in no-cluster mode
Ancillary NOCLUSTER mode fixes for fence_xvmd
Ancillary NOCLUSTER mode fixes for fence_xvmd
[rgmanager] Make rgmanager check pbond links correctly
Revert "[fence] fence_xvmd: Add KVM support; misc cleanups."
[fence] fence_xvmd: Add KVM support; misc cleanups.
[rgmanager] Fix erroneous broadcast matching in ip.sh
[fence] Port XVM to logsys
[fence] Fix XVM's debug.c default
[fence] Make fence_xvm[d] use normal log levels
[rgmanager] Add optional save/restore to vm resource
[qdisk] Make stop_cman="1" work if heuristics fail during initialization
[rgmanager] Fix resource agent metadata and un-break 'make check' target
[rgmanager] Re-fix permissions bits broken in last commit
rgmanager: Ancillary fix for rhbz #453000
cman: Fix qdiskd file descriptor leak
cman: show '-d' option in mkqdisk -h and mkqdisk.8
rgmanager: Make freeze/unfreeze work with central_processing
rgmanager: Detect restricted failover domain crash
rgmanager: Permit careful restart w/o disturbing services
rgmanager: Wait for fence domain join to complete
rgmanager: Fix up clusvcadm.8 manual page to show -M option
rgmanager: make status poll interval configurable
rgmanager: Clean up build
rgmanager: Implement enforcement of timeouts on a per-resource basis
rgmanager: Make clustat and clusvcadm work faster
rgmanager: Resolve hostnames->IPs and back when checking NFS clients
cman: Fix broken qdisk main.c patch reverted with scandisk merge
cman: Don't let qdiskd update cman if the disk is unavailable
rgmanager: First pass at port to logsys
group: Allow group_tool ls <name> <level> to be scriptable
rgmanager: make clulog build even though it's incomplete
rgmanager: don't change the build target just yet
[fence] Fix fence_xvmd trying to read wrong args from ccs
[fence] Make fence_xvmd "reboot" work with newer versions of libvirt
qdisk: fix block size check
fence: Fix bug in make_args()
liblogthread: Fix sefault if fopen() fails for any reason
rgmanager: Nuke clurmtabd since it's not used/needed
rgmanager: Rename clurgmgrd -> rgmanager
rgmanager: Enable stderr logging when run in foreground
rgmanager: Use CCS again instead of building everything NO_CCS
rgmanager: Fix debug build error
rgmanager: Handle notifications from cman for config updates
rgmanager: Remove polling code; misc cleanups
rgmanager: Put init_resource_groups prototype in one place
rgmanager: make clulog accept "-" as the first char in messages
rgmanager: Avoid status checks during reconfiguration
qdiskd: Always use O_NONBLOCK when writing to status_file
qdiskd: Process reconfiguration events from CMAN
rgmanager: make max_restarts work w/o restart_expire_time
qdisk: Make online reconfig actually work
qdisk: Update man page. Nuke crc32 code and use zlib.
qdisk: Remove antique #ifdefs for old kernel-mode CMAN
liblogthread: work with stderr etc
qdiskd: Misc. cleanups, esp. loop cleanups in main.c
qdisk: More misc cleanups.
qdisk: Allow old logging style until next release
rgmanager: make dtest compile
rgmanager: Include follow-service.sl in the install
rgmanager: Fix license for follow-service.sl
logthread: Make multiple init/exit calls work
logthread: Add missing prototype
fence_xvm: Use new logging config parameters
rgmanager: Fix up logging, part 1
rgmanager: Part 2 - flip logging function name
gfs2: Fix handling of mount points with spaces
Marc - A. Dahlhaus (1):
[MISC] Add version string to -V options of dlm_tool and group deamons
Marek 'marx' Grac (56):
Fix #203720. Do not run backup copies (ends with ~) of resource agents.
Bug #204054. Adding MySQL resource agents and utilities which will be common for other RA.
Bug #204057. Adding Apache resource agent and utility which parse httpd.conf.
Minor changes.
Bug #204060. Adding OpenLDAP resource agent
Simplifying scripts:
typing error
PID files are stored in common directory. Name of the PID file is generated from the OCF_RESOURCE_INSTANCE. Resource agents for Apache, MySQL and OpenLDAP are updated.
Bug #204058. Adding resource agent for PostgreSQL 8
Adds possibility to add command line options to Apache RA. Names of variable in RA's metadata are changed to unify style.
Adds possibility to add command line options to MySQL RA. Names of variable in RA's metadata are changed to unify style.
After upgrade to 'unified names for PID files' we can clean code a bit.
Adds new function (generate_name_for_pid_dir()). Minor update of messages texts.
Adding Samba resource agent (tag <samba>). We already have resource agent for Samba but this is written in the same way as the other application's RA (mysql, apache, ...). Old-style RA stays available (tag <smb>) so it won't break backward compatibility.
Add check if the instance of RA has parent (variable service_name)
Some application needs time until they stop all theirs processes, so we have to wait a few moments until main/parent process is finished. This patch adds an option 'shutdown_wait' for each application's RA.
Test if PID file of the application points to running PID. If not then this PID file is deleted and application can start.
This patch pushes generated configuration files for service in /etc/cluster/ (RA_COMMON_conf_dir) where each service (samba, openldap, ...) has it's own directory. In this directory is another directory with instances (OCF_RESOURCE_INSTANCE).
Bug #204784. Adding Tomcat resource agent
Script for parsing Tomcat's conf/server.xml
Bug #213524. Resource agent for named + patch for stopping applications
Bug: 212479 - ip.sh causes /sbin/ip to produce warnings
New flag -F for clusvcadm to respect failover domain (#211469). Also changes clusvcadm -e service00 which enable service on local node and do not respect failover (same as in RHEL4, in RHEL 5.0 it just wrote Failure).
Resolves: #245178 - install RA for named (agent already in CVS)
Resolves: #250681 - mount samba share from netfs RA
fence/agents: New fencings agents
fence/agents: WTI agents merged
fence/agents: Add obsolete options
[RGMANAGER] Fixed typo in mysql.metadata
[FENCE] SSH support using stdin options
[FENCE] Fix #435154: Support for 24 port APC fencing device
[FENCE] Fix name of the option in fencing library
[FENCE] Fix problem with different menu for admin/user for APC
[FENCE] Fix typo in name of the exceptions in fencing agents
[FENCE] Fix #248609: SSH support in Bladecenter fencing (ssh)
[FENCE] Fix #446995: Parse error: Unknown option 'switch=3'
[FENCE] Fix #447378 - fence_apc unable to connect via ssh to APC 7900
[FENCE]: Fix #237266: New fence agent for HMC/LPAR
[FENCE] Fix #446995: Unknown option
[FENCE] Fix: 447378: fence_apc unable to connect via ssh to APC 7900
Fixes #445662: names of resources with spaces are mishandled
[FENCE] Bug #448822: fence_ilo doesn't work with iLO
[FENCE] Fix #448043 - Update man pages for fence agents
[FENCE] Fix #237266 - LPAR/HMC fence agent
[FENCE] Fix #460054 - fence_apc fails with pexpect exception
[FENCE] Fix #290231 - "Switch (optional)" param does not default to "1" and program fails
[RGMANAGER] - Fix #462910 postgres-8.sh and metadata fixes
[fence] Operation 'list' for APC fence agent
[fence] Operation 'list' and 'monitor' for iLO, DRAC5 and APC
[fence] Operation 'list' and 'monitor' for WTI IPS 800-CE
[fence] WTI should not power on/off plug if it is unable to get status
[fence] WTI should not power on/off plug if it is unable to get status
[FENCE] Support for long options (eg. --ssh, --help)
[fence] Extension to fence agent for BladeCenter with 'list'/'monitor' operation
[fence] Extension to fence agent for LPAR/HMC with 'list'/'monitor' operation
[FENCE] Support for 'metadata' option for fencing agents / default values
Mark Grimme (1):
rgmanager: Add follows-service script
Mark Hlawatschek (2):
mount.gfs2: skip mtab updates
rgmanager: Update SAPInstance / SAPDatabase to current versions
Michael Conrad Tadpol Tilstra (111):
- this is the idea I have for having gulm use ccs. This code here
- fixes bug #126970
- removed the unneeded utils_verb_flags stuff from lock_gulm.ko
- <can't say anything nice>
- CFLAGS in make/defines.mk is ignored if you don't use += in the Makefiles
- reshaped the way i was building the lock key names. This new method
- gulm will now get its configs from ccsd.
- decent start of documenting cmdline args and config file for gulm.
- this is the opteron stack bug fix here too.
- fixed a few ickys.
- The first 'half' of range lock support for gulm. Doesn't actually do
- turned off a couple debugging things.
- found some stuff I forgot to remove.
- use safer naming for the dump files that go into /tmp.
- temporarily remove ccs from gulm. Its way not working. Need to figure
- cleaned up the makefile as per aj req.
- moved the option parsing code to where it was a while ago. I didn't make
- from the top, its src/lock_gulmd and src/gulm_tool now.
- from the top, its lib/libgulm.a now.
- added --use_ccs to man page.
- added --use_ccs to --help
- The first pass at getting range locking for gulm. This is server changes
Basic posix range locks work in gulm now. Lots of changes required to
- these build again. (forgot to update them with library.)
- fixing an ism of gulm's gfs-only past. There was not a way for
- update the gulm lib to reflect new quorate info.
- have magma use the new quorate info.
- removed some code that wasn't called anymore.
- removed unused function.
- changes to match last change in userspace.
- must remember to decrement holder count when removing holders from
- fix inaccuracies in the counters.
*sigh*
- fiddled with a few comments.
- try to be a bit clearer about how you can name thigns in the servers
- the kludging required server side to get something that posix can
- the kernel side of things for getting the posix range F_GETLK cmd.
- was double decrementing the expired holders counter.
- Fixed tiny memory leak in config parsing.
- Initalize entire sockaddr6 for binding.
- don't logout on kill -TERM
- plug leaky memory.
- don't return positive error codes on loc module mount failures.
- VFS does weird things with the error results, so before we try to
- get builds with --prefix working.
- This removes the limit of 300 jid mappings.
Here's a patch to fix a gulm_tool bug that allows a user to enter the
- stop printing out lock ids in different formats. its confusing.
- i know they're unused, but it hurt my brain less if they're atleast
- Added command to gulm_tool to query the services that have connected
Don't requeue front on conflict with priority flag.
- Updated lcok_gulm for the 2.6.9 kernel.
- update the patch.
- sometimes when starting multiple gulm server for the first time,
- stop multiple local jid list scans on the same fs from trampling
- removed node locks. The things they worked around in the past do
- If a node remounts on the jid while we are replaying thier journal,
Fixed some queue jumping. If the lock was held shared, and a new
Fixed an end case weirdism.
Allow gulm services to lock core. Locked core will ignore the
Fix __you_cannot_kmalloc_that_much by switching the large kmallocs to
By default, gulm determins the name of the machine it is on with
- get lock_gulm.patch uptodate with source.
Fix lock_gulm.ko for nonSMP kernels. Silly me, spinlock_t has no size
The compiler is generally better at knowing when to try to inline
if a plock IS_SETLKW, then it is a *blocking* request.
switched = to += so I can add paths to LIBS
spell generation correctly in prints.
add servicelist to man
- SIGTERM is ignored. Update man page describing this.
- lock tables are supposed to register themselves are LT%03d, not %03d
code to allow expiration of a subset of locks. This will be used by
Most of the witdraw code. Still lacking a bit to notify other
updated the patch for last lock_gulm.ko commit.
moved a message from Always to locking.
So here is a bit of code that finishes up the withdraw support for
Wasn't calling ccs_disconnect() when reading config from ccs.
I ran into some weird race with having gulm load info from ccsd more
previous method of not calling out to ccsd more than once had issues
Added a warning for if you didn't --cluster_name before you --use_ccs.
added a way to query gulms current running config from gulm_tool
print node name and ip on the protocol mismatch error message.
fix for bug 144909
stop gulm_tool from printing its errors to syslog.
gulm will now parse the server list from ccsd as
use lockserver instead of server. less confusing.
bleh, forgot man page.
grab more of the login request for services so if the protocl version
relocated some tags to attributes. Easier for the gui to work and
stop being wavery on where tags go.
Forgot to update gio.
fix for bug 146479, was not properly pushing posix range lock
pending plocks on gulm can now be interrupted.
Handful of little cleaning things I ran across hunting a bug.
Partial workthrough of log messages. Some moving, some changing.
Removed a bunch of unused global vars. (well, externs to atleast)
put the info that i thought was in the man pages in there.
removed an unused func.
is deprecated, not depercated
If a local client logged into gulm, and the client got the nodelist
reduced things down to a single ASSERT. passing back error codes and
Was storing entries under the same name, this prevented withdraw from
soft link libs for lon
install symlinks to the .so
fixup libs
gcc4-isms
fixup man page.
Added some diagnostic messages for when clients/slaves cannot connect
gcc4 hates me.
same sort of compiler fixes that i did in userspace.
added a warning.
Nicolas MONNET (1):
rgmanager: Make postgres-8.sh use su instead of sudo
Patrick Caulfield (669):
Create /dev/misc if it doesn't exist.
Some older systems need explicit -lpthread
Make sure that the backout time for a "NEWCLUSTER" message is less than the joinwait time.
Add in more architectures.
Fix a couple of 64bit compiler warnings.
Add support for more VMS-like locking mode where new locks will not be granted
Tidy atomic decrement.
Fix assertion.
Add timeout feature for resdir entries so they don't go away as soon
Stop users calling dlm_[ls_]_pthread_init() more than once.
Fix an obscure but potentially nasty race on the resource directory.
Remove resdir sequence number from all structs as it's no longer used.
Missed a couple of files from the last tidying commit
Make DLM_LSF_NOCONVGRANT the default for userland lockspaces.
Clean up the temp nodeIDs list at shutdown.
Fix some small odd bugs in startup conditions:
Validate nodeIDs
oops, remove annoying (and badly formatted) debug prints
If there's anything left to read after recvmsg, then make sure we get it.
Tidy up accept path a bit.
Print error if no nodeIDs are passed to "cman_tool kill"
Man page for cman_tool
Install man page
Fix race where two reads/accepts could arrive in quick sucession but only the
Don't clear the temp_nodeid until we've /really/ finished with it.
Tidy up temp nodeids after a transition.
Distinguish between not being able to get the cluster ACTIVE state,
A couple of endian fixes.
neaten up some bits by calling send_kill() rather than building up our own
Get rid of zero-initialisers as the compiler (or is it the linker?
Pass the unqualified name into the kernel, so the cluster node name never
Fix race on islistening queries.
Clear the "cluster_is_quorate" flag at shutdown
Do the parameter overrides correctly.
Remove some redundant code.
Always copy AST parameters, even for converts.
Always copy ast bits, even on convert (kernel vesion).
Change the initialisation order, so if we get into the kernel twice by some
Example init script for cman/dlm/fence/clvm
Replaced setsockopts with ioctls.
Use new ioctl interface to start the cluster.
The "lets get all the API changes done in one day" checkin.
Userspace side of last checkin - sync routines for locking.
Set return code if we can't leave the cluster.
Return error if we can't start all the listening sockets.
reinstate copy of lock name that got lost in the last change.
Use re-entrant gethostbyname2_r as we are juggling two hostent structures
Fix a couple of error paths so they set errno.
Put some locking around the lockspace list.
Don't cleanr li_flags after setting the FIRSTLOCK bit
Don't deliver blocking ASTs to locks that are in progress.
Don't grant locks that have are waiting for unlock.
If the dlm_unlock() call fails, the put the lock back on the ownerqueue
I think it would be a really nice idea to actually pass the
Don't update the bastaddr/param for a convert until the conversion has actually
Knock the "I'm not getting out of bed for a message that small" size down
Remove duplicate check.
Fix userspace LVBs (thanks, Jeff)
Don't hang lkbs off the ownerqueue list as we don't have any control
Create /dev/misc with reasonable permissions.
Change AF_ number to 30 so it doesn't conflict with bluetooth.
Tidy LVB handling
Add PID to a lock which can be returned using the Query API.
Also include the pid in LKB rebuild
Update libdlm doc.
Setting a bad example...
Use seq_file for /proc/cluster/services so we don't crash the kernel
Return the lockid to userland as soon as we know it.
Run dlm_recoverd only when we need to do recovery.
Be a little less ACK-happy during transition. ACKs can now be embedded in data
use REPLYEXP for ISLISTENING messages
pack the comms structures. They are already well-aligned but the compiler
Get rid of some debugging info that is no longer relevant (or even compiles).
Fix stupid cut & paste bug with IPV6 multicast.
Don't send HELLO as soon as the kthread is started as that might b e too early.
A couple of endian fixes. mixed-endian clusters now seem to
So /that's/ why it was up there...
Rename "local_nodeid" so it doesn't clash with kernel's internal use.
Change cman_tool kill to take a node name instead of a node number.
Improve (I think) the usage message. Well, it's more verbose anyway.
Tweak the way NEWCLUSTER works in an attempt to prevent the splits that
Fix a subtle bug in the node IDs code where a node could get a different
Don't get blinkered when in NEWCLUSTER modes...there may still be things out
Free cluster ref if we fail to start.
Clear the use_count if shut down with "force"
Make all node removal happen in remove_node(). This has the nice
Make sure we wake the membership thread before waiting for it to complete
There is a small chance that rem_node could be NULL when passed into
Allow a bit more flexibility in how nodes are specified in cluster.conf
Remove distracting comment to which the answer was "no, it doesn't"
Remove ourself from the waitqueue when told to quit.
Add support for assigned nodeids so that people can have permanent node IDs
Add support for allocated node IDs, both on the command-line and from CCS
Be a bit more paranoid about creating the DLM device node. If it doesn't
Add (untested) SELinux support
Tidy.
Fix that deadlock that's been there for ages but only ever pops its head
Always return non-zero exit code if we hit an error.
Yet another one of those "I can't beleive we've not seen it before"
Use C99 initialisers. Also include module reference in file_ops.
Fix bug in debugging routine.
Add module ownership to various structures so we don't get unloaded whilst
Free unused direntry structs when releasing a lockspace.
Only stop recoverd if it is running
Tidy daemon shutdown so that membership is always responsible for
Print "left cluster" reasons as text.
Make /proc/cluster/status a bit more consistent in its output,
Remove state REMOTEMEMBER as it's not been used for ages. I've started the
the kernel's interface numbers start at 1, not zero. So we need to
Get rid of REMOTEMEMBER
Wait for membershipd to shutdown before starting to clean up.
Make sure the nodeids array is increased enough to cope with very
Sanity check the nodeID
Don't say "we are leaving the cluster" when we never actually join it.
Honour the wanted_nodeid when we are the first node in the cluster.
I am an idiot
Kernel check for max nodeid too. in case anyone bypasses cman_tool
Though Id checked this in last week.
JOINING timeout should go back to JOINWAIT rather than giving up.
Update highest_nodeid at the client-end of a transition too. There is a tiny
Tidy the close_connection() routine. in addition add a parameter telling
Forgot to set node_state when a node is killed via STARTTRANS
Close the lowcomms sockets during recovery rather than as soon as
Quit rx loop if the thread is closing down.
Don't free "othercon" connections when they are closed as they might still be
Move pingtest into userspace and check for invalidated LVBs
Open the default lockspace if dlm_get_fd() is called before any other locking
Simple LVB test prog
Fix lock modes constants that were incorrect.
Dear, oh dear this was out of date.
Quick overview of the libdlm function calls.
add DLM_SBF_VALNOTVALID so that the examples compile again.
Improve support for PERSISTENT locks, and make the lkid checking a bit
A simple DLM "hello world" example from Daniel.
Compile two DLM libraries, one that needs pthreads, and one that doesn't
Add a loopback to the comms layer so that clients can send messages to
Changed the protocol header to include the source port number so it can be
Add lock ORPHAN state, and associated query.
Don't call wake_astd when we're doing a remote unlock.
Add some (optional) stats collecting.
Revert 1.40 as it causes astd to spin for some reason I haven't fathomed yet.
Only wake astd when there is work for it to do.
Close any created listening sockets "listen_for_all" fails
Don't deref freed skb.
Remember to free connections[0] if initialisation fails.
Add priority to cman sockets
warning - large checkin.
Tidy the userland API so it takes nodeid 0 to mean "us"
Add userland API to get the cluster name/ID
First cut of a libcman - comments welcome
Example of using libcman
Add some locking around queue traversal.
Keep a local copy of cbinfo->isoob as cbinfo can be freed before reaching the
lowcomms_close can be called when atomic, so we can't use nodeid2con
Only overwrite the user's LVB if the lockop has changed it
Move lowcomms_close() outside of the spinlock, as it may want to sleep.
Tidied up the userland/kernel interface so that all the data transfer happens
Remember to assign parent during RSB rebuild.
Don't try to reconnect when we get EOF on a socket.
When comparing node states, "JOINING" is effectively the same as "DEAD", so
Byteswap (if appropriate) new rl_flags field.
Return the LVB "INVALID" state to users when the LVB has been invalidated.
Fix refcounting error.
Decrement the module count if returning -EEXIST from dlm_new_lockspace().
Get rid of suprious ASSERT in dlm_unlock that broke cancellations.
Add a flag to userland lockspaces that will cause them to be deleted
Make the default lockspace AUTOFREE so that it gets deleted when
Udev script (goes in /etc/udev/rules.d) for creating DLM devices.
use GET_ALL_MEMBERS to return number of nodes in the cluster as it's consistent
Make the API a little more consistent. nodeid==0 always means (this node)
Undo last check-in for this file that came from a bogus tree.
Fix debug print
Fix broadcast.
Add a compatibility layer (conditionally compiled in) for using a 32bit
Fix some comments
Change dead_node_lock to a spinlock and don't hold it for nearly as long.
Clean joining_nodeid in a few places.
If a nodes dies after beiung sent a JOINCONF then remove it from all nodes
Tweaks to init script
Remove some redundant code.
Make command-line options override CCS rather than the other way round.
Tidy the language, fix a few typos, and update it a little.
header->flags needs to be byteswapped since I made it an int.
Tidy up the node_id assigning code. With the changes made a while ago, a lot
Clear joining_node after a client-end transition
Make sure transitionreason gets set if inherit mastership from a dead
Add send/recv API to libcman, and some comments to libcman.h
Don't send a KILL message if a node has the wrong generation number, try to
lkb_dequeue s/b res_lkb_dequeue
Don't use a large(ish) static buffer for the membership state.
Fix a few join related bugs. Many of which are related to #142853 and # 1335212.
If a transition gets usurped by another node, always tidy up old joining
Be a lot quieter on the console
Don't hold the res_lock for quite so long.
Make MAX_RETRIES /proc settable.
Use sock_create_kern() rather than sock_alloc() for 2.6.10
NULL some pointers when we shutdown.
Don't loop ourself to death if we run out of memory.
Move find_minor_from_proc before it's first use.
If bind() failes then NULl con->sock too, so the tidy up doesn't cause an oops.
Make all nodes print a message saying why another node left the cluster, so
Clean the queued_messages list at shutdown.
If we get nominated as master, remove any joining node we may have.
If the cluster gets down to 1 node and the last leaver left with "remove"
Don't commit with debugging enabled. !
Add SAF AIS lock API support
Sanity-check the votes, so that expected_votes doesn't get silly.
Add wait options to cman_tool to help with script synchronisation.
Remove some redundant code.
return error if ioctl(GETNODE) called before we are a cluster member.
Check for valid LKB in find_lock_by_id() rather than later on when we've
Another remove_joiner() needed - this time if the new node does not respond
Set threads to SCHED_FIFO scheduling policy.
Remove param from remove_joiner() as that part of the patch hasn't
Return an error from several ioctls if they are called when we are not part of
remove_joiner() now also informs the poor node that it's join has been
Grr, got me patches & cvs all mixed up again.
If we get an old STARTTRANS(REMNODE) then still remove the node from our
Split the removal of a node out of STARTTRANS as they can get
Put some more validation on integers passed in from the commandline.
Change a BUG() into a printk, it's not really /that/ serious an anomoly.
Don't call nodeid2con() if we're shutting down, it might allocate a new con.
Don't starve processes that are filling buffers.
If we get a position JOINACK then ignore any negative ones that come afterwards
Make heartbeat thread exit whren "quit_threads" gets set. This also mean
dlm_release_lockspace uses force==1 by default, so the LS gets
Use #defined constant rather than a plain number
Default for releasing userland lockspaces is "1", ie get rid on any master
If a joining node is removed by the time it has become a provisional member
Check quit_threads in a few more places so we don't get blocked
use $(CC) for linking.
Be a bit smarter about when to schedule() when reading lots of data
Add a -w (wait) option to "cman_tool leave".
man page for cman_tool leave -w
Don't start the transition timer if we're doing the shortcut single-node
Display node name in /proc/cluster/status
On sparc & s390 do biarch checking at runtime. This paves the way for
Remember to tell SM if we get down to one node.
This fixes the socket leak in the case where a primary connection was
Deal with failed joinconf more sensibly. (that message may have to go though)
Display "mantis-friendly" membership state in /proc/cluster/status
I was trying to be too economical with code in cman_tool wait,
Remove kjoin.c as it's not used and won't even compile any more.
Put some locking round membership_task so we don't try to wake up
Add -t option to join/leave/wait, specifies the maximum amount of
Add ioctl32 support.
Need this too.
Get rid of spurious "up" in barrier error path.
Don't send sequence number of zero, it causes trouble.
Set the socket priority to INTERACTIVE to ensure
If we are a new master, don't try to rejoin an old node.
Replace the array of connections with functions from linux/idr.h
Tidy printks
Set close-on-exec flag on DLM file descriptors
Clean transitionreason after a state transition has finished.
Fix dependancies for join_ccs.o
lowcomms for the new src2 DLM.
Don't try to add too many addresses.
Remove unused variable
Build libcman
Make the _sync calls available to non-pthread applications.
Better error messages
Don't need -lpthread
Replace the old nodeids array with idr_ routines.
Slightly more sensible error returns for some join functions too.
Increase size of gethostbyname_r buffer and improve error if it fails.
Don't return an error on normal, synchronous, non-threaded unlock
Set join time on local node
Use correct errno when reporting errors from gethostbyname2_r
man pages are wnderful things - when you read them.
Fix usage message for -n
Fix memory leak if a joining node fails.
Remove redundant struct member
Fix a couple of memory leaks
Add a test prog that got lost
Say something if sendmsg fails.
Get userland working again.
Set unlock artarg
Seperate out device.c into its own module that only depends on the
Add DLM_SBF_LVBUPDATED, needed by userland i/f
use lvm_operations array to determine whether the LVB was updated or not.
zero the difference between a sockaddr_* and a sockaddr_storage
Userland cman daemon.
libcman to go with userland cman daemon
Don't leave debugging on by default.
argv[0] should be "cmand" not "cman"
Lots more comments in libcman.h
Make debugging comfigurable without a recompile.
Remove some redundant stuff.
Use rwlock rather than rw_semaphore
Undo some of the "tidying" done by indent.
Use local libcman
Use local libcman
Allow cman_tool to override the node name when joining.
events are not REPLYs.
Add command-line utility for managing cluster.conf files.
Check in the source rather than a binary, sigh
Move cluster_conf into ccs_tool
Remove some unnecessary includes.
If we failed to resolve the broadcast address, print the interface.
Add the new commands to the ccs_tool man page. and fix a bad example.
Add options to cman_dispatch() so that callers can filter out non-interesting
Address numbers start at 1
Refill the nodes write queue once we are woken up after -EAGAIN.
Don't allow name= as a fence argument as it causes problems.
Use a different method for findin broadcast addresses.
Improve "can't connect to cman" error.
Build against dlm-kernel/src2
Missed header, sorry.
Add dummy struct to keep compilation clean.
unregister_lockspace() now works.
Add a userland-cman plugin for magma. I've only tested this with ccsd.
deprecated.
Only print "waiting for cman" if verbose flag is set.
Use getaddrinfo rather than the (obsolete) gethostbyname2 call.
Don't lose the port number
Bring forward some fixes from the kernel-based cman.
Fail if the nodename maps to the loopback device.
Fix potential SMP race
Use sockaddr_storage rather than sockaddr_in6
Add option for 2-node cluster.
move everything around!
I always miss one of 'em.
Fix some comments
A bit more tidying.
Move a bit more stuff around.
ccs.h is not really a dependancy
Fix crash with barriers, caused by overtidying.
cmand depends on commands.o not commands.c
Put saved messages on the right lists
use umask so that permissions on /etc/cluster/cluster.conf are -rw-r-----
Add some (hopefully helpful) comments
Fix device refcounting
file clm.c was initially added on branch STABLE.
file saAis.h was initially added on branch STABLE.
file saClm.h was initially added on branch STABLE.
interesting typo.
Build cman against openAIS's libtotem_pg. This is still pretty unstable stuff
library commits that go with the last lot. I'm not sure why CVS missed them out.
small Makefile fixes
Return node addresses.
Clear node struct before passing it into cman_get_node()
Clear struct before calling cman_get_node()
Unbind connections when they die. Recalculate quorum when we join.
Add support for AIS security key.
Add support for AIS security key.
Only ask for POLLOUT notification unless we have something to send.
Line up heading
Cope with large (>PIPE_BUF) messages coming back from the daemon.
Add IPv6 support, with pre-release AIS code.
Remove send_queued_events() as it's not used any more.
Configure AIS bit using CCS
Temporarily enforce static node IDs until this is sorted out.
Don't untar the ais source on every build
Today's openais tarball has some important fixes in it.
comment & message tweaks
Strip down barriers so they use the VS features of AIS.
Use ccs as the repository of config & node information (that is, after all,
Fix up the port notification and add new new PORTOPENED notification
Add CMAN_REASON_PORTOPENED callback reason.
Patch for clvmd so that it can be used with libcman. With a dynamic libcman,
Updated patch that works rather better.
Missing comma & comment.
If any of the queues have cached message in then return an fd for /dev/zero
Refresh cluster FD before each select.
Need to return earlier if the socket failed to connect.
byteswap the header too
new AIS version
Use a temp variable for the node address, to avoid potential alignment problems.
Don't try and do floating point maths in the preprocessor.
Cope with node names in CCS that we can't resolve (provided they have a node ID)
Updating ccs_tool's editconf commands for new cman schema (note: the old schema
Add uS to the log timestamp
Allow CCS version to go forward between cman_tool join & startup, but not
Tidy multicast code and use a suitable (ip4 or 6) default if none is specified.
Fix usage message
Don't overwrite AIS node addresses just because a nodeid matches
rename "commskey" to "keyfile" as that's slightly better.
Install the AIS keygen program.
Use slightly more RFC-compliant multicast address.
"cman_tool status" prints the multicast address too.
Use inet_ntop() to print IP addresses so the look nicer.
Don't send two config change events for a "cman_tool expected -e".
Lock ourself in memory
Add DLM_LKF_FORCEUNLOCK so device.c doesn't have to muck about with
Don't die if we get SIGPIPE
Stick a version number in the pipe protocol so we can protect ourself from
Don't default to 0 votes, it's annoying.
Set the version number
Pull slightly updated openais tarball.
Slightly better error handling.
Don't show joined time for non-members.
Fix log message that could crash daemon
new AIS
If AIS passes us a node ID then we should beleive it.
Read key after we've filled in the whole of the totem_config struct, as it
new AIS incorporating nodeid zeroing patch that got missed.
add htons() etc on nodeid in totem_ip_address.
Don't spam ccsd with diff config entry names.
(re-)read the two_node flag from CVS so we can change it on the fly.
Update to latest AIS (taken straight from svn now)
Sort nodes by nodeid
CCS node names override temporary ones created from the IP address.
Comment tidy
sockets should be non-blocking!
Tell aispoll to remove the client if it errors.
Call out to group_tool for "cman_tool services".
Reinstate lowcomms_close() to tidy up the output queue when a node leaves
Oops, typo. Also tidy comments so they fit on an 80char line.
Allow re-reads of CCS to set a new expected_votes value.
Some of those messages should go to syslog
Show 2node flag & error state in cman_tool status
I hate CVS, why does it always ignore this directory?
Put externs in the header file.
Fix race where a lock could be unlocked before dlm_lock has completed.
Allow non-root users to create the default lockspace.
udev rules file for DLM
file 51-udev-dlm.rules was initially added on branch RHEL4.
Use libcman
Add quorum device interface back in.
Don't allow a user to release a lockspace if other users have it open.
Show nodeid in "cman_tool status" output.
Update to 0.71 of openais.
Make nodeid mandatory
Run cman as an AIS component. This allows other AIS services to be used
Give aisexec longer to get started. Now that all the CCS accesses are in the
Allow stderr log messages from ais if "cman_tool join -d" specified.
Check if ccsd is running before attempting to start the daemon.
Detach the daemon rather better
Don't do endian conversion on nodeids, ais does that for us now.
Get rid of some redundant stuff
Use latest openais - with improved CPG support.
ln -sf doesn't do what I though it did. so rm the symlink before creating
as per lon: add cman_get/set_private routines.
Return an error if range locks are attempted.
Install and run cman from libexec
This is a bit neater.
Oops, slight bug in that Makefile there.
Fix some errors in usage.
Don't need to override ${sbindir} anymore
Update patch so it works with new build system
Now compiles against upstream (-mm kernel) DLM.
Return the correct address length for a node.
Return correct status sign for fundamental errors.
As a courtesy, zero the whole node address field.
Make errno handling a little more consistent
Don't clear too much !
change SaNameT to struct cpg_name.
Small reversion. The sequence number was pointless.
Make sure p->ls is NULL when we start up. OR we could crash at shutdown.
Remove some assertions that could fail in normal circumstances.
Patch up so they compile. (mainly taking out query calls)
Use latest AIS with CPG integrated into it.
Odd things could happen if the lock space already existed but the device
Don't return an error if we had to create the control device!
Don't send extra state change message.
two-phase cman shutdown.
libcman changes for last one. Need to fix my CVS repository.
Tidy up. and remove some unused structs & constants
Try and keep ABI stable between versions.
Fix includes
OK, OK, I give in.
We must register for events.
libcman doesn't ncessarily return a padded sockaddr_storage. But it /does/
clvmd no longer needs patching for GFS2
Tidy help message, fix cluster name override, tidy "status" code.
Use the cluster name as the AIS key if no keyfile is specified.
"make install" now includes AIS headers & libraries.
Fix typo of the year: "quorumdev_poo"
More documentation on API calls.
Make things a little clearer.
Return EBUSY if we don't know whether a remote node "is_listening" or not.
Loads more documentation for each call.
Update to latest openAIS code.
Update to latest AIS. we not don't need to patch the AIS sources as it
Remove a (now) spurious include
Do recursive queries on CCS and store in the objdb.
Print a space between IP addresses
Explain cna_address
s/Blocked/blocked/ when displaying quorum.
Add recognition of ALTNAME tags in CCS to specify multiple ethernet
Allow users to specify log level on command line
'addnodeids' command adds node IDs to nodes that don't have them.
Use revised ais loading system (that now works correctly) on FC5
Don't call lcr_component_register twice as it /really/ annoys aisexec.
Use new AIS logging functions.
Change the default port. If people try to run old and new cman on the
Fix (I hope) hierarchy descending in CCS.
Admin sockets can't get notifications either.
Add API to keep track of when and how a node was last fenced.
Inform cman when we have fenced a node.
Use latest openAIS which, I think, will fix Dave's trouble
Use new OpenAIS with important CPG fix.
This needs libcman now too
Disable VS filter
Don't go into an infinite busy loop if cman shuts down.
Add facility to assign a multicast address to the cluster.
A rag bag of stuff:
Make the examples compile and do something.
Return all multicast addresses. Also return a list of (cman) ports
Remove redundant kernel examples.
Mention ccs_tool as a way of adding nodeids to a cluster.conf file.
Tidy some of the inter-file communications.
Be careful about returning junk as a node address.
Get rid of some redundant calls
Fix key file override.
Don't let port number default to junk.
Missing semicolon! oh dear.
Make it background properly.
Don't busy-wait if a write fails.
Fix some stats as reported by cman_tool status
Allow loggin facility to be configured.
Add support for OpenAIS RRP.
Add missing swab_header().
Do the big-endian conversion so it actually works.
Align some message structures better
Don't segv if the node has no "votes" property.
Don't call a parameter 'time' as it confuses some compilers.
Use new OpenAIS
We need to build libccs -fPIC because it's included by cman which is a
Remove dlm32 as all the 32/64 conversions are done in the kernel now.
Build against installed headers rather the ./configured kernel source.
Add include so we get a prototype for syscall()
Add missing include.
Make it clear that admin sockets can't receive callbacks either.
Pull latest openAIS
Update to OpenAIS with patch for CPG alignment bug
Fix build error.
Build using installed openais
Run aisexec from SBINDIR
gah! forgot to remove the /cman off the end of SBINDIR
Count votes correctly - buy not shadowing variables, sigh.
Don't force unwanted flags on people.
Make SBINDIR default to /usr/sbin so we can find aisexec
Make sure we ${libexecdir}/lcrso - packagers need it.
Don't copy the agent name if it's NULL.
Don't lose the end of a lock name
for RRP use "active" rather than "passive" on Steve's advice.
Update to use new openAIS totemip & totempg APIs.
if we can't get the latest config from CCS, poll it until we do.
Some systems need #include <signal.h> and who are we to deny them ?
We don't really need to include signal.h twice :)
Set a good example by checking return values.
Create a pipe between cman_tool and the cman daemon so that it can
At startup, check that ALL nodes in CCS have nodeids assigned.
"group" should be "amf"
Add a confchg callback to libcman, similar to the openAIS ones.
Fix a bug in the demo prog.
initialise confchg_callback
Rename 'private' to 'privdata' so it doesn't upset C++
Fix strdup braindamage that probably caused segfaults when nodes
Cope with short writes to the cman socket.
Cope with a node being fenced manually and then going offline (ie someone
Add struct entry for .flow_control to keep latest openais happy.
Don't even start up if the local host name resolves to 127.0.0.1
Add some extra semantics to CMAN to cope with openAIS rejoins.
A bit of a hack to cope with the race condition where dlm_controld gets
Don't fence a node if it has already been fenced.
If there are disallowed (AISONLY) nodes in the cluster, then name & shame them.
Avoid spurious messages. and also fix an odd node count when nodes
Sigh, got the condition back-to-front.
'while' should be an 'if'
Get notifications BEFORE getting state otherwise we have a race condition.
fix CMAN_DISPATCH_ALL.
Lon's patch to user /etc/sysconfig/cman for customisation.
Set the default token timeout to 5 seconds. It can still be overridden
On Steven Dake's recommendation, also up the token_retransmit count to 20.
fix bz#213747
if an AISONLY node dies, mark it DEAD
Always compile in debug logging - you never know when it might come in handy
Set join_timeout and consensus_timeout to higher defaults as per
Tell cman when the config file has been updated
Don't truncate the node name when we check for it unqualified.
That 'if' really should have been a 'while'.
Fix minor bug where cman_tool join didn't spot that aisexec had started
Fix typo that could affect shutdown.
Add cluster_id override field to cluster.conf, so that people can manually
Increase token timeout to 10s as per bz#216954
Fix bug where cman_dispatch(CMAN_DISPATCH_ONE) could dispatch several
Give a better error if the cluster name is too long.
Send correct length of quorum device name sent to cman.
Clear the node structure before calling cman_get_node().
If there are already queued messages for a client then don't send new ones
Don't lose NUL on the end of the fence-agent.
quorumdev_poll is in milliseconds, not seconds!
Add flood program back.
Don't return to 'cman_tool leave' until we are just about to quit.
If we get killed by another node then print the reason in English rather
Fix typo.
Read the LVB every time, rather than not at all.
Add threads example
Add man page info for ccs_tool addnodeids
Don't report 0 exit status as a failure.
If exec fails, then tell the parent process.
Add delay switch
Add -c clustername to help output.
Support IP(v4) addresses in cluster.conf
If the machine is multi-homed, then using a truncated name in uname but not in
Fix bug where we could free an lksb while dlm_lock is still using it.
Actually, MAX_INT is a bit of a bad idea under this new system.
Newer versions of udev prefer == to =
Remove udev file from here as it is confusing.
Install udev rules file
Add const to libcman
Change unsigned char* to char* for compatibility with openais trunk.
Don't override <totem secauth> if it appears in cluster.conf.
Allow ccs to change the two_node flag.
Fix typo in openaisincdir
Add swab.h for compiling against openais trunk
open_lockspace needs to detect kernel version too, otherwise all lockops
Don't link cman with libcman!
Use new openais timers
Fix timer durations
Honour the mode parameter to dlm_create_lockspace() even if the
libdlm man pages
remove redundant Makefile lines
file dlm_ls_query.3 was initially added on branch RHEL4.
file dlm_ls_query_wait.3 was initially added on branch RHEL4.
file dlm_query.3 was initially added on branch RHEL4.
file dlm_query_wait.3 was initially added on branch RHEL4.
Don't lost the cluster name if it is specified on the command line
Add a "dirty" flag to cman to prevent active clusters merging with one-another.
Clear error flag for SET_DIRTY
Document that cman_set_dirty() needs an admin socket.
Update man page
Add some information about setting up multi-home (redundant ring)
Add some info about openais.conf parameters
Mention the openais.conf parameters that cman overrides.
Add a 'cman_tool debug' command that allows cman debugging levels to be
Fix spelling of DAEMON, sigh
Correctly reduce quorum when a node leaves using "cman_tool leave remove"
Allow it to build with -O2
Make it compile with -O2, by fixing a very dodgy cast.
Fix compile with -O2 -Werror
Use openais logsys functions.
check quorum device name length against the right size.
Fix type-punned pointer warnings
Don't use _logsys functions as I get my wrist slapped.
Recalculate quorum based on the expected votes value of a new node.
Call "group_tool ls" for cman_tool services
Reinstate cman_tool services, which got lost inexplicably.
Use "logger_subsys" & "subsys" keys rather than "logger" and "ident".
Tidy logsys use.
Make sure it compiles against latest openais trunk.
Enable to_stderr logging if 'cman_tool join -d' is used.
Enhance API to retrive just the quorum device information using cman_get_node()
Add missing format string.
Add an explanation of the node states shown by "cman_tool nodes" and some informastion about the "disallowed" state.
file msgtest.c was initially added on branch RHEL4.
Clear out the ports opened list when a node goes down.
Reinstate 'cman_tool join -X', allowing people to start a cluster without
Print votes of quorum device in cman_tool status
Add option to disable kernel_check.
Add multi-path capability. Each address we get from cman is now
Tidy comments
Set networking parameters suitable for running DLM over sctp
Some small fixes to the networking param code, thanks to Fabio on IRC
Fix altname option
Allow rrp_mode to be overridden in cluster.conf
totempg_ifaces_get() always copies INTERFACE_MAX addresses
Lets see if I can do this commit properly...
Use define CMAN_NAME for the purpose for which it was intended
Get rid of redundant totemip_parse() call. This was in a bad place and could
Add command-line override for 2node mode.
Zero namelen when doing an unlock. On 32/64 bit systems it can make a
Improve startup error checking and logging.
Oops. a bit too much cman3 fell into that last checkin
Change a log_printf() into a syslog() so that the die message
Implement a nicer way of getting the quorum disk information.
Robert Peterson (206):
Fix for Bugzilla Bug 155304 – gnbd_monitor doesn't correctly reset after an
This fixes Bugzilla bz 178367. Memory leak when reading from
Fix for Bugzilla Bug 178453 – Slow memory leak in /proc/cluster/dlm_dir
Fix for bz 186125: gfs_fsck on GFS 6.1TB filesystem gives error and
Fix for bugzilla bz 179069: gfs_fsck unable to fix file system.
Initial checkin of libgfs2.
New and improved gfs2_edit tool based on ncurses.
Initial checkin of libgfs.
Got rid of automake and added minor fixes.
Remove automake-related files and redundant includes.
Initial checkin of libgfs2 and related.
Incorporate libgfs2.
Initial checkin.
Add convert tool and libgfs2.
Compile libgfs2 first. Removed obsolete gfs2_debug tool.
Added refs to libgfs2, gfs2_convert, and gfs2_fsck.
Several updates and bug fixes, mainly for gfs2_fsck.
Prep for libvolume_id, minor changes due to libgfs2 changes.
Ability to print directory details, minor libgfs2 changes.
Fix several bugs and add changes necessary to match libgfs2.
First working version that uses libgfs2. May still have problems.
Remove obsolete parts now in libgfs2.
Missed on initial check-in.
Misc bug fixes. For example, it was not updating block free counts for fsck.
Added gfs2_fsck, added gfs2_convert, renamed gfs2_mkfs to mkfs.gfs2
Moved functions from fsck to libgfs2, added functions to make
Got rid of dependency on libgfs. Every is now done with libgfs2
Made all block numbers show in decimal and hex. Minor bug fixes.
Fixed a bug when printing stuffed directories. For example,
Change copyright to 2006
Add gfs2_fsck to Makefile
Fix typo in Makefile
Improvements to Makefile, renamed gfs2_mkfs man page to mkfs.gfs2.8
Remove obsolete references to unlinked_tag.
This addresses bugzilla bug #156009 - gfs fsck needs a good
Added some error reporting back in when checking for gfs2 file systems.
Fixed a bug where changes to the root inode are not written to disk.
Changes to lock protocol were not saved. Also removed some vestigial
Converted file systems had no journals.
Fixed problems printing stuffed directories like master and jindex.
Fixed bugs regarding acls and eattrs. Also crosswrote some fixes
Switch to libvolume_id method of determining pre-existing file
Clean up .d files on Make clean rather than distclean
Include man pages for convert, fsck, etc., in Makefile.
Change gfs to work with new locking infrastructure.
New ncurses-based gfs_edit synced from RHEL4 and STABLE branches.
Changes necessary due to removal of iddev parts (replaced by libvolume_id).
Changes necessary due to removal of iddev parts (replaced by libvolume_id)
Changes necessary due to removal of iddev parts (replaced by libvolume_id)
Re-add locking.c with its redundant gfs_mount_lockproto and
Reverse previous decision on locking.c. Removed unwanted sysfs
Changes necessary due to removal of iddev parts (replaced by
Remove gulm, dlm and nolock from Makefile. gfs1 will now use
A printf to stdout was getting redirected to the daemon's socket
This is a bug fix for bz 164499. It allows loopback-mounted files
Split read_sb into read_sb and compute_constants like libgfs2.
Fix divide by zero because superblock constants were not
Accomodate changes Steve Whitehouse made to gfs2's dinode structure.
Add /proc/fs/gfs support back in.
Rename req_lock to gfs_req_lock to avoid duplicate symbols.
Remove iddev from configure script.
Patch from Fabio Di Nitto:
Service stop was killing daemons, which hung system at umount time.
Moved cman_tool from /sbin to /usr/sbin
Switch was specified incorrectly for apc power switch.
1. Allow SIGINT signals so that gdb can break into hung mounts.
OpenAIS builds for /usr/lib64/openais on x86_64 machines.
Add useradd for ais user, added instructions for gfs (1).
Fix compilation problems on x86_64 (link against /usr/lib
This is a fix for bugzilla bz 164499 (Unable to mount loopback
The gfs2 userland tools weren't compiling when cluster configure
Got rid of iddev references.
Hex values were not shown or printed correctly on x86_64.
Fix compile error with vmalloc.
Mounting was mistakenly allowed with too few journals.
Fix minor compile problem due to missing include.
Fix include gfs_ondisk.h to be located in gfs kernel source rather
Make block_list use a consistent set of values rather than
Get rid of symlink "linux" for referencing includes and
This change is for Makefile reform allowing a simple
Reset other inode bits when temporarily setting S_IFDIR bit.
Fixed segfault converting bitmaps during inode conversion.
Fixed segfault in gfs_controld.
Get gfs_ondisk.h from local includes, not kernel includes.
This is a fix for Bugzilla Bug 203916: groupd daemon segfault and
This is the fix for bugzilla 200883: gfs_fsck segfaults.
This is a crosswrite from gfs1 for bugzilla bz 200883: gfs_fsck
Addendum to bz 200883. If gfs_fsck can't finish initialization,
Addendum to bz 200883. If gfs2_fsck can't finish initialization,
Add the "-w" (wait) and "-t" (timeout) parameters back in
Add -w option back to fence_tool join in cman init script.
This is for bugzilla 210162: fence_tool needs -w and -t options
This fix is for bugzilla 210641: Race condition hang/failure
This is the fix for bugzilla bug 210587: Oops in gfs_get_dentry
This is a fix for bugzilla bug 210300: Unknown mount option
This is the fix for bugzilla bug 210369: acls are not enabled
This is the fix for bugzilla bug 211337: must create core files
This is the fix for Bugzilla Bug 210732: ccsd doesn't spot
Fix for Bugzilla Bug 211405: If groupd segfaults, dump the most
This is the fix for Bugzilla Bug 210344: group_tool does not
This is the fix for Bugzilla Bug 214513: gfs2_convert must reject
This is the fix for Bugzilla Bug 214621: Allow gfs2_edit to view,
This is the fix for Bugzilla Bug 214625: Add group_tool log function
This is the fix for Bugzilla Bug 214524: group_tool dump can give
Ability for gfs2_edit to handle gfs1 indirect metapointers.
Resolves: bz211465
Resolves: bz215817
Resolves: bz208836 - fatal: invalid metadata block
Fix another case where lf_dirent_format was not rewritten to disk
Resolves: bz216898
Resolves: bz217460: fence_tool man page updates needed.
Resolves: bz216902: mkfs.gfs2 allows non-4K block size.
Resolves: bz217436: Several updates needed to cluster.conf man page.
Resolves: bz217436: Several updates needed to cluster.conf man page.
Resolves: bz213763: mkdir takes more time on larger file systems.
Resolves: bz217798: Need to port Resource Group optimization from
Resolves: bz218134: GFS & GFS2: umount while busy gives bogus error
Resolves: bz 219866: GFS init script - FATAL: Module lock_dlm is
Resolves: bz 218560: multiple mount points fail with gfs and gfs2
Resolves: bz 219878: gfs2 creation should default to 1 journal
Resolves: bz 219876: mount.gfs hangs if there are insufficient
Resolves: bz 222747: Remove references to lock_gulm from cluster man pages
Resolves: bz 222743: gfs_grow gets the rgindex out of order.
Resolves: bz 222871 gfs_fsck runs slower than previous versions
Resolves: bz 222933: regression: fence_tool no longer times out
Resolves: bz 223506: gfs2_fsck: fatal: invalid metadata block
Resolves: bz 223843 GFS2: gfs2_fsck segfaulting on corrupt extended
Resolves: bz 223500: gfs2_fsck runs slower than previous version
Resolves: bz 222759: gfs_mkfs doesn't zero data after gfs superblock
Resolves: bz 222299: gfs knows of directories which it chooses not
Misc updates to bring gfs-kernel up to the 2.6.20-rc7 and similar
Fixed some bugs and made some improvements.
Resolves: bz 222308: mkfs and journal addition for GFS2 should produce
Resolves: bz 221743: gfs2_fsck errors still
Misc improvements. Better scrolling. You can now scroll through
Resolves: bz 229220: gfs_fsck stuck in infinite loop
Resolves: bz 229601: gfs_tool fails to report counters
Resolves bz: 229222: gfs2_fsck stuck in infinite loop
Made hex editing a lot easier (for bz 229484). Fixed several bugs
Resolves: Bugzilla Bug 232019: gfs2_fsck doesn't fix an ea problem.
Resolves: Bugzilla Bug 232124: gfs2_fsck will create multiple
Resolves: Bugzilla Bug 233083: Wrong link command in gfs2-utils
Jump from RG index was broken.
Resolves: Bugzilla Bug 235060: gfs_fsck: Bad programmer! You forgot
Resolves: Bugzilla Bug 235061: gfs_fsck: Bad programmer! You forgot
Horrible kludge to allow display/print of the rgs themselves
Resolves: bz 223893: gfs2_fsck unable to fix damaged RGs and RG indexes.
Resolves: bz 238740: GFS fsck is has problems with resource groups
Resolves: bz 229484: gfs_fsck not good at fixing corrupt directory entries
Resolves: Bugzilla Bug 234844: Need to add a "gfs2_grow" command
Resolves: Bugzilla Bug 239844: mount.gfs2 doesn't work when _netdev
Close the /sys/fs directory after using it.
Resolves: Bugzilla Bug 239023: gfs2_fsck not good at fixing corrupt
Resolves: Bugzilla Bug 242056: GFS2 needs block sizes < 4k (mkfs changes)
Resolves: bz 244163: Incorrect output of gfs2_tool sb <dev> all
Resolves: bz 240570: Can't mount GFS file system on AoE device
Make gfs2_edit handle small different block sizes.
Resolves: bz 245360: GFS2: userland tools have problems with small
Fix a place where indirect offsets were calculated incorrectly.
Add savemeta and restoremeta functions to gfs2_edit
Resolves: bz 245360: GFS2: userland tools have problems with small
Revolves: bz 245803: GFS2: buffer count underflow for block
Resolves: bz 241096: GFS: bug in gfs truncate
Resolves: bz 247591: Make default journal size for gfs2 128M
I added the ability to recurse indirect blocks. That means
Resolves: bz #247591: Make default journal size for gfs2 128M
Resolves: bug #248423: gfs2_tool can not set data journal flags as
Added ability to parse and print journal information. For example:
Resolves: bz #240545: gfs2_fsck should behave more like the other fscks.
Resolves: bz 287901: GFS2: fsck errors and corruption with files > 945MB
Resolves: bz 291451: gfs2_fsck -n, Bad file descriptor on line 63 of
Resolves: bz 291451: gfs2_fsck -n, Bad file descriptor on line 63 of
Resolves: bz 247318: Need man page for gfs2_edit
Resolves: bz 304001: GFS2: Filesystems with 1k block size won't mount
Resolves: bz 247318: Need man page for gfs2_edit
Resolves: bz 240545 (addendum).
Resolves: bz 295301: Need man page for gfs_edit
Resolves: bz 251180: Build time warnings for gfs2 userland tools
Add the ability for gfs2_edit to print gfs1 journals.
Resolves: 235931: gfs2_edit command to set NOALLOC flag
While working on bz #291551, I discovered that gfs2_edit savemeta
Minor correction to the previous commit. Bopping through indirect
Resolves: bz 291551: gfs2_fsck clears journals without asking.
Resolves: bz #334481: gfs2_jadd man page refers to non-existent -T option
Resolves: bz 345501: GFS2: gfs2 utils uses non-canonicalized names
Resolves: bz 345501: minor correction to previous commit.
Resolves: bz 337961: gfs_grow /mountpoint/ does not work
Resolves: bz 349601: GFS2 requires straightforward way to determine
Resolves: bz 354201: GFS2: gfs2_tool: unknown mountpoint on some
Resolves: bz 352581: GFS2: implement gfs2_tool lockdump
Fix a divide by zero if the target isn't a gfs or gfs2 file system.
Resolves: bz 336561: gfs2_tool accepts jdata flag; man page says no
Printing the quota file wasn't printing its contents due to a bug.
Resolves: bz 364741: GFS2: gfs2_quota doesn't work unless lock
Fixed printing of gfs1 journals.
Resolves: bz 352841: GFS2: Evaluate and implement missing gfs2_tool
Added ability to save inode extended attributes in "savemeta".
gfs2_edit wasn't printing directory entries and extended attributes
Add the "printsavedmeta" option to the gfs2_edit man page.
Resolves: bz 382581: GFS2: gfs2_fsck: buffer still held for block
Resolves: bz 402971: GFS2: gfs2_edit savemeta doesn't save rindex file.
Resolves: bz 325151: GFS2: gfs2_fsck changes to system inodes don't stick
Resolves: bz 426670: GFS2: man page for gfs2_tool has commented
Fixup contributed by Andy Price.
Resolves: bz 429633: gfs_tool doesn't recognize GFS file sytem
Resolves: bz 223660: man gfs2(8) refers to the gfs2_mkfs manpage
Ross Vandegrift (1):
[FENCE] Add fence_ifmib new agent
Ryan McCabe (51):
support switches with greater than 9 outlets, and handle lists that run longer than one screen.
fence agent for fujitsu-siemens primergy rsb device
logout correctly on status check
rsb agent, this time named rsb along with a man page and makefile mods
renamed to rsb
Ignore outlet groups
fence_apc_snmp support
Add DRAC5 and DRAC4/I support
Update the perl fence agents to take the additional command line option -S <path> or stdin param passwd_script=<path>
Support the "passwd_script" parameter in the C fence agents.
- Document the -S/passwd_script fence params.
Support power on/reboot for iLO2
Add 'M' to the getopt string to keep clusvcadm from complaining that M is an invalid option.
Make power on work correctly for RIBCL version 2.22 on both iLO2 and iLO:
Work around network disruption caused by XenD's bridged networking (bz230783, bz231227).
don't try to workaround xend networking when running on a non-xen kernel
Convert
line breaks to
Rename "private" to "priv" to make the file usable by C++ programs, and wrap the header with extern C { ... } if compiling C++.
HP changed the iLO 2 interface again in the latest firmware revision, 1.30 (released on 2007-06-01)
Detect bridged networking configurations where additional parameters are supplied to the script.
Fix a few (harmless) places where memory is allocated but not freed I stumbled onto hunting down something else.
Fix access beyond allocated memory
Fix a handful of possible NULL pointer derefs
listen() is not supported on SOCK_DGRAM
fix bz277781 by accepting "nodename" as a synonym for "node"
Fix 314091
add new function to libccs:
Fix code that caused warnings on platforms where sizeof(void *) != sizeof(int)
Allow valid addresses of nodes even if they're not identical to the way they're specified in cluster.conf
E2BIG is more appropriate than ENOSPC here
- Fix unsafe string handling:
Commit msg with the last commit went missing..
Fix format string bug
More format string fixes
rgmanager format string fixes
Keep gcc from reporting a bogus warning when compiling with -Wformat=2
Compile with -Wformat=2, which will catch usually dangerous format string bugs
patch from Marco Ceci to fix 354421
Allow "option=(on|off|reboot)" (currently only fence_ilo takes "action")
Fix bz434790
Fix a few misspellings
Merge branch 'master' of ssh://sources.redhat.com/git/cluster
Feeling pedantic. More spelling fixes.
Merge branch 'master' of ssh://sources.redhat.com/git/cluster
fix bz277781 by accepting "nodename" as a synonym for "node"
fence: fixes and cleanups to fencing.py library
libfence: handle EINTR correctly
libfence: update copyright notice
fence: update apc snmp agent
cman: Fix typo that caused start-up to fail
libfence: whitespace cleanup
Ryan O'Hara (73):
Removed magma dependencies.
Fixed compiler warnings.
Initial check-in of SCSI persistent reservation fence agent.
Initial check-in of SCSI persistent reservation init script.
Fix perl cmd declaration that caused sg_persist to fail.
Added parameters for chkconfig.
Added extra output when verbose option is given.
Fix stdin parameter parsing to handle 'name=value' correctly.
Added "self" parameter as a way to pass our_name to the agent.
Added "self" parament to dispatch_fence_agent.
Added "self" parameter to dispatch_fence_agent.
Name of node to be fenced is passed via "nodename=" parameter.
Initial version of the fence_scsi man page.
Updated copywrite and fixed title.
Added success and failure commands in start/stop.
fence_scsi agent should use "self" rather than try to determine node node.
Move scsi_reserve init script to fencing agent directory.
Moved from fence/scripts directory.
Remove extra argument from log_debug call.
Added support for SELinux extended attribute types.
Fixed typo. "ccstool" should be "ccs_tool".
Early version of a script to help users determine if a logical volume
Remove error handling for missing magma plugins.
Moved code which signals parent (SIGTERM), which allows the parent process
ccsd is now fixed such that it will not daemonize until the socket is ready
Add GFS_EATYPE_SECURITY as valid xattr type and increment GFS_EATYPE_LAST.
Added gfs_security_init to initialize SELinux xattrs for newly created
Add scsi_reserve init script to Makefile so that it gets installed.
Remove scsi_reseve from "all". This will be handled by the agent make target.
Add code to create initdir if it doesn't exist.
Remove unnecessary chmod for scsi_reserve.
Added fence_scsi_test to help test SCSI reservation capabilities.
Include sd_freeze_count in counters output.
Detect and fix potential endia problem in lf_dirent_format.
Fix annoying whitespace inconsistency.
Fix comment.
file scsi_reserve.sysconfig was initially added on branch RHEL4.
file scsi_watchdog was initially added on branch RHEL4.
file scsi_watchdog.conf was initially added on branch RHEL4.
If no password is specified, pass a "-P ''" to the ipmitool to prevent
Ignore EPIPE error when sending response. This can happen is, for example,
Fix help message to refer to script as 'fence_scsi_test'.
Read nodir from lockspace xml node via ccs_get.
BZ 240584 - Check to see if device is mounted before creating filesystem.
Fix bug where mkfs always exits with EXIT_FAILURE.
BZ 249781 - Fix ccs_tool to return EXIT_SUCCESS for most commands.
Add ability to format output and filter based on node name.
BZ 323111
Fix issue with endian conversion that caused problems for mixed architecture
Variable should be quoted in conditional statement.
Fix unregister code to report failure correctly.
Remove "self" parameter. This was used to specify the name of the node
Fix code to use get_key subroutine.
Fix split calls to be consistent. Remove the optional LIMIT parameter.
Replace /var/lock/subsys/${0##*/} with /var/lock/subsys/scsi_reserve.
Fix success/failure reporting when registering devices at startup.
Rewrite of get_scsi_devices function.
Record devices that are successfully registered to /var/run/scsi_reserve.
Allow 'stop' to release the reservation if and only if there are no other
Attempt to register the node in the case where it must perform fence_scsi
Fix help message to refer to script as 'fence_scsi_test'.
BZ 248715
BZ: 373491, 373511, 373531, 373541, 373571, 429033
BZ 441323 : Redirect stderr to /dev/null when getting list of devices.
gfs_mkfs: change the way we check to see if a device is mounted
cman: add option to init script to prevent joining the fence domain
cman: fix typo (#!/bin/bash) from previous commit
ip.sh: add sleeptime parameter
cman: allow custom xen network bridge scripts
fence_scsi: improve logging for debugging
fence_scsi: correctly declare key_list
BZ 453429: Fix conditional check of $OCF_RESKEY_migration_mapping
Fix check_mount to correctly test if device is mounted/busy.
Satoru SATOH (1):
fence: Add network interface select option for fence_xvmd
Simone Gotti (1):
[rgmanager] Fix fuser parsing on later versions of psmisc
Stanko Kupcevic (40):
Fixed bz167769: fs.sh doesn't do 10 & 20 OCF_CHECK_LEVEL checking
Added watchdog that reboots if clurgmgrd crashes
Fixed bz167217, and handling of DOWNed interfaces
Initial checkin of cs-deploy-tool
Initial checkin of clumon
Minor GUI touch ups
Display size in GBs
Tooltips and touch-ups
Message to add two nodes in order to detect shared storage
RPM prerequisites & alpha build
Addition of html documentation
Package docs, build 0.9.2
clumond c++ rewrite
build system
specfile, dependencies, buildsystem
Daemonization of clumond
added logging with multiple levels of verbosity
spec and code cleanup
Memory leak in Socket, remove pidfile on exit, catch SIGCHLD
Memory corruption due to libxml2 not being thread safe
Abort command execution after 3 second
Restart daemons on upgrades, compile with debugging info
Resources used after their release
Signal-safe logging
Replaced tmp OID with unique one
agent and provider READMEs
Include pegasus headers for zSeries
Added rhcClusterNodesNames, rhcClusterAvailNodesNames, rhcClusterUnavailNodesNames, rhcClusterServicesNames, rhcClusterRunningServicesNames, rhcClusterStoppedServicesNames, rhcClusterFailedServicesNames to rhcCluster, so that users of clients that don't display whole snmp table in a single view (eg. HP OpenView), can see all failed/stopped/... services in one place. Node and service tables haven't been removed. Also, clarified descriptions.
Make sure all data is read() from buffer before closing fd
Sample snmpd.conf
Verify that node is subscribed to proper RHN channels
add path to logfile to error popups
Remove pvs from list of available storage; don't create VG if no storage configured
Improved rpm selection and installation phase
GUI touch up
FC5 support, start cs-deploy-tool with --fc5 argument
"clumon moved under Conga project" message
fence_apc_snmp ignores "port" parameter
Support "passwd_script" parameter in python fence agents.
Fix for bz230134 (can't fence port 1:1 with fence_apc)
Steven Whitehouse (119):
N.B. This patch changes the ondisk format of GFS2, so you'll need to remake
This patch introduces the tty_write_message() function rather than
Sorry - another ondisk format changing check in...
A two line patch to fix a bug where the quota_enforce setting is ignored.
Remove an unused variable.
Fix to quota bug fix... I had accidently commited the RHEL4 patch in
This patch removes an allocation of memory which was occuring on every lookup
Temporary variable "error" is not required since there is already a
This patch moved the i_alloc structure into the incode inode. This results
Fix up warnings due to kernel function prototypes not matching a couple of
Tidy endianess conversion in lvb.c. Half the macros were not used
Removed the hfile_trunc ioctl(). Its not used anywhere at the moment, but
Fix sparse warning caused by use of int rather than gfp_t in a function
A checkpoint in the sparse annotation. There are still a number of areas
This touches just about everything and changes GFS2 to be big-endian on
These are the fixes to mkfs in order to get it to build against the new
This change makes the "hidden" files and directories visible to users
mkfs changes to allow building of filesystems with visible .gfs2_admin
Some __read_mostly annotation.
Merge the lock harness into gfs since it no longer makes sense to retain
Remove some unused code relating to printing the lock state. If we are to
Adding back the get/set flags ioctl, which is the one ioctl that I think
Update mkfs to use the new ioctl for get/set of flags for files.
Remove a test which is no longer needed.
Found and fixed an endianess bug where we were using the wrong conversion
Write a list of the block numbers of the succeding metadata blocks which
Remember to take out my debugging printks :-)
All normal (i.e. not journaled) file reads/writes now go via the page
The second half of yesterday's patch. This is the recovery part and now
mkfs no longer writes the mh_blkno field into the common metadata header
GFS2 no longer writes mh_blkno into the common metadata header for
This takes mkfs out of the main build system. It should make it much
This reverts the dirent ondisk structure to be the same on disk as
Added a simple set of compile/install instructions.
Prevent "uninitialized block" message printing out since several
Change the .gfs2_admin dir such that its no longer linked from the root
Fix a bug where the wrong size endian conversion was used to initialize
libgfs2: Add support for UUID generation to gfs2_mkfs
libgfs2: Remove unused #defines
mount.gfs2: Remove unused ondisk2.c file
gfs_controld: recv error checking
GFS: Send sensible sysfs stuff
GFS: Send useful information with uevent messages
cman: loading lock_dlm module should be optional in initscript
docs: Update some docs
doc: Update makefile
tool: Remove old perl scripts
gfs2_tool: remove unused code
mkfs: Remove unused code
libgfs2: Remove unused code
man: Update man pages to new names, fix refs etc
include: Remove almost unused headers
libgfs2: Remove three unused functions
libgfs2: Remove unused functions from misc.c
libgfs2: More fixes in bitmap.c and block_list.c
libgfs2: Remove unused code, general clean up
libgfs2.h: add externs
libgfs2: Fix typo in previous patch
Merge branch 'master' of git://git.fedorahosted.org/gfs2-utils
libgfs2: Remove pv macros from library
libgfs2: Remove RANDOM/SRANDOM macros
libgfs2: Change some macros into inline functions
libgfs2: Remove another macro
libgfs2: format checking for printf-like functions
libgfs2: gfs2_disk_hash is a .c not a .h!
libgfs2: Move SYS_BASE macro
libgfs2: Merge bitmap.c into block_list.c
libgfs2: Merge linux_endian.h into libgfs2
libgfs2: Remove ancient, obsolete alpha workaround
libgfs2: Merge ondisk.h into libgfs2.h
libgfs2: Remove copyright.cf include from libgfs2.h
fsck: Using wrong hash size
libgfs2: Forgot to remove headers from apps
libgfs2: Remove a typedef that was only used once
libgfs2: metapointer function is only used internally
libgfs2: First go at cutting the number of "die"s
libgfs2: test_locking should be in mkfs
mount.gfs2: Fix wrong header
libgfs2: Move prog_name out of the library
gfs_controld: One header removal too far
gfs2_edit: Tidy up EXTERN stuff
libgfs2: DIV_RU Macro bites the dust
mount.gfs2: Move the endian functions out of gfs_ondisk.h
Remove unused code from various places
gfs2_tool: gettext support
mkfs.gfs2: Add gettext support
gfs2_tool: Fix misplaced bracket that bob spotted
fsck.gfs2: Add gettext support
Makefile: Fix problem which crept in earlier
Merge branch 'master' of git://git.fedorahosted.org/gfs2-utils
gfs2_tool: Use FIFREEZE/FITHAW ioctl
gfs2-utils: Further translation updates
gfs2_tool: Remove obsolete subcommands
libgfs2: Remove unused library function
gfs2_tool: Remove ref to non-existent sysfs file
gfs2_tool: Remove code to read args/*
gfs2_tool: Fix help message
man: Remove obsolete info from mount.gfs2 man page
man: More updates
gfs2_tool: Remove df command from gfs2_tool
libgfs2: Use -o meta rather than gfs2meta fs type
mkfs.gfs2: Remove dep on libvolume_id
gfs_controld: Remove some unused code
doc: Add diagram of how things fit together
gfs_controld: Clean up & fixes
gfs_controld: Remove three unused functions
gfs2: man page updates
GFS2: Man page update
GFS2: Add man page for tunegfs2
GFS2: Clean up initscript
GFS2: Make mkfs.gfs2 install to the correct location
GFS2: Make mount.gfs2 install to the correct location
init.d: Add initscript for gfs_controld
GFS2: Add script to create release tarball
GFS2: Specify some constants directly
gfs_controld: Allow mounts entirely via sysfs/uevent interface
gfs_controld: Allow paths names to be changed, but keep defaults
build: New build system
gfs2_edit: Fix bitmap editing function
Wendy Cheng (27):
This patch is part of fix for bugzilla 178469 where the
Properly handle error return code from verify_jhead().
Joined work of bugzilla 164331 (Abhijith Das) and 178469 (specsfs):
Bugzilla 182057 - patch 3-1:
Bugzilla 182057 - patch 3-2:
Bugzilla 182057 - patch 3-3:
Sync with base kernel data structure changes:
Bugzilla 199984: Increasing gt_statfs_slots tunable could significantly
Bugzilla 203170 - direct IO deadlock: We'll have the same deadlock as
Just found 2.6.18 kernel has something called down_read_non_onwer for
Port RHEL4 GFS AIO (asynchronous IO) implementation into RHEL5/FC6 and
Bugzilla 211622: GFS1 will asserts at xmote_bh() if DLM grants SHARED
Bugzilla 211622 - Root issue is found and fix. Backout the workaround.
Bugzilla 214274: GFS has been splitting large writes into smaller atomic
Bugzilla 214274: Oops... only directIO has this issue - buffer IO should be
bugzilla : 217374 - temporarily disable GFS1 withdraw until bz215962 is ready.
Temporarily disable GFS natvie AIO support since it currently breaks
GFS(s) expects NFS fh_type and fh_len would have the same value.
Apparently we can't remove these two methods from file operations table.
Bugzilla 236565
Bugzilla 242759:
bugzilla 244343:
Bugzilla 239729:
Bugzilla 231904:
RedHat bugzilla 239727:
Bugzilla 239729:
Bugzilla 239729:
ccaulfield (1):
Allow unnamed parent objects. This fixes a bug where
jparsons (1):
Bump MAX_DEVICES in fenced from 4 to 8
rohara (2):
fence_scsi.pl: check if nodeid is zero
scsi_reserve: add restart option
root (1):
[fence] fence_xvmd: Add KVM support; misc cleanups.