- 25 Jan, 2008 3 commits
-
-
Mark Fasheh authored
Bump the printed version to 1.5.0. This helps us quickly identify which version of Ocfs2 a bug filer is running. Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Tao Ma authored
Currently the process of dlm join contains 2 steps: query join and assert join. After query join, the joined node will set its joining_node. So if the joining node happens to panic before the 2nd step, the joined node will fail to clear its joining_node flag because that node isn't in the domain map. It at least cause 2 problems. 1. All the new join request will fail. So no new node can mount the volume. 2. The joined node can't umount the volume since during the umount process it has to wait for the joining_node to be unknown. So the umount will be hanged. The solution is to clear the joining_node before we check the domain map. Signed-off-by:
Tao Ma <tao.ma@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Mark Fasheh authored
With this, a dlm client can take advantage of the group protocol in the dlm to get full notification whenever a node within the dlm domain leaves unexpectedly. Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 27 Nov, 2007 1 commit
-
-
Joe Perches authored
Signed-off-by:
Joe Perches <joe@perches.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 19 Oct, 2007 1 commit
-
-
Pavel Emelyanov authored
The task_struct->pid member is going to be deprecated, so start using the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in the kernel. The first thing to start with is the pid, printed to dmesg - in this case we may safely use task_pid_nr(). Besides, printks produce more (much more) than a half of all the explicit pid usage. [akpm@linux-foundation.org: git-drm went and changed lots of stuff] Signed-off-by:
Pavel Emelyanov <xemul@openvz.org> Cc: Dave Airlie <airlied@linux.ie> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 17 Oct, 2007 2 commits
-
-
Christoph Lameter authored
Slab constructors currently have a flags parameter that is never used. And the order of the arguments is opposite to other slab functions. The object pointer is placed before the kmem_cache pointer. Convert ctor(void *object, struct kmem_cache *s, unsigned long flags) to ctor(struct kmem_cache *s, void *object) throughout the kernel [akpm@linux-foundation.org: coupla fixes] Signed-off-by:
Christoph Lameter <clameter@sgi.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Peter Zijlstra authored
provide BDI constructor/destructor hooks [akpm@linux-foundation.org: compile fix] Signed-off-by:
Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 19 Jul, 2007 1 commit
-
-
Paul Mundt authored
Slab destructors were no longer supported after Christoph's c59def9f change. They've been BUGs for both slab and slub, and slob never supported them either. This rips out support for the dtor pointer from kmem_cache_create() completely and fixes up every single callsite in the kernel (there were about 224, not including the slab allocator definitions themselves, or the documentation references). Signed-off-by:
Paul Mundt <lethal@linux-sh.org>
-
- 10 Jul, 2007 3 commits
-
-
Shani Moideen authored
Replacing memset(<addr>,0,PAGE_SIZE) with clear_page() in fs/ocfs2/dlm/dlmrecovery.c Signed-off-by:
Shani Moideen <shani.moideen@wipro.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Christoph Hellwig authored
Signed-off-by:
Christoph Hellwig <hch@lst.de> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Joel Becker authored
ocfs2 mounts require a heartbeat region. Use the new configfs_depend_item() facility to actually depend on them so they can't go away from under us. First, teach cluster/nodemanager.c to depend an item on the o2cb subsystem. Then teach o2hb_register_callbacks to take a UUID and depend on the appropriate region. Finally, teach all users of o2hb to pass a UUID or NULL if they don't require a pin. Signed-off-by:
Joel Becker <joel.becker@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 17 May, 2007 1 commit
-
-
Christoph Lameter authored
SLAB_CTOR_CONSTRUCTOR is always specified. No point in checking it. Signed-off-by:
Christoph Lameter <clameter@sgi.com> Cc: David Howells <dhowells@redhat.com> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Steven French <sfrench@us.ibm.com> Cc: Michael Halcrow <mhalcrow@us.ibm.com> Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Cc: Miklos Szeredi <miklos@szeredi.hu> Cc: Steven Whitehouse <swhiteho@redhat.com> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Dave Kleikamp <shaggy@austin.ibm.com> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: "J. Bruce Fields" <bfields@fieldses.org> Cc: Anton Altaparmakov <aia21@cantab.net> Cc: Mark Fasheh <mark.fasheh@oracle.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Christoph Hellwig <hch@lst.de> Cc: Jan Kara <jack@ucw.cz> Cc: David Chinner <dgc@sgi.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 08 May, 2007 1 commit
-
-
Randy Dunlap authored
Remove includes of <linux/smp_lock.h> where it is not used/needed. Suggested by Al Viro. Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc, sparc64, and arm (all 59 defconfigs). Signed-off-by:
Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 07 May, 2007 1 commit
-
-
Christoph Lameter authored
I have never seen a use of SLAB_DEBUG_INITIAL. It is only supported by SLAB. I think its purpose was to have a callback after an object has been freed to verify that the state is the constructor state again? The callback is performed before each freeing of an object. I would think that it is much easier to check the object state manually before the free. That also places the check near the code object manipulation of the object. Also the SLAB_DEBUG_INITIAL callback is only performed if the kernel was compiled with SLAB debugging on. If there would be code in a constructor handling SLAB_DEBUG_INITIAL then it would have to be conditional on SLAB_DEBUG otherwise it would just be dead code. But there is no such code in the kernel. I think SLUB_DEBUG_INITIAL is too problematic to make real use of, difficult to understand and there are easier ways to accomplish the same effect (i.e. add debug code before kfree). There is a related flag SLAB_CTOR_VERIFY that is frequently checked to be clear in fs inode caches. Remove the pointless checks (they would even be pointless without removeal of SLAB_DEBUG_INITIAL) from the fs constructors. This is the last slab flag that SLUB did not support. Remove the check for unimplemented flags from SLUB. Signed-off-by:
Christoph Lameter <clameter@sgi.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 02 May, 2007 2 commits
-
-
Mark Fasheh authored
Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Milind Arun Choudhary authored
use __set_current_state(TASK_*) instead of current->state = TASK_*, in fs/ocfs2 Signed-off-by:
Milind Arun Choudhary <milindchoudhary@gmail.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 26 Apr, 2007 3 commits
-
-
Sunil Mushran authored
Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Sunil Mushran authored
In dlm_migrate_all_locks(), we currently call cond_resched_lock() after processing each lockres in a hash bucket. Move it outside the loop so as to call it only after the entire hash bucket has been processed. Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Srinivas Eeda authored
There is a possibility that dlm_remaster_locks could overwride node->state with DLM_RECO_NODE_DATA_REQUESTED after dlm_reco_data_done_handler sets the node->state to DLM_RECO_NODE_DATA_DONE. This could lead to recovery getting stuck and requires a cluster reboot. Synchronize with dlm_reco_state_lock spinlock. Signed-off-by:
Srinivas Eeda <srinivas.eeda@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 26 Mar, 2007 2 commits
-
-
Sunil Mushran authored
In dlm_migrate_lockres(), we check upfront whether the lockres is a candidate for migration. This patch encapsulates that code in a separate function so that dlm_empty_lockres() can also use it during umount. This patch addresses the umount process spinning problem. Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Sunil Mushran authored
During umount, the umount thread migrates the lockres' and the dlm_thread frees the empty lockres'. Due to a race, the reference counting on the lockres goes awry leading to extra puts. Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 14 Mar, 2007 2 commits
-
-
Sunil Mushran authored
__dlm_lockres_unused() expects the caller to take the lockres spinlock. Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Sunil Mushran authored
In some circumstances, this was causing us to reference freed memory. Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
- 12 Feb, 2007 3 commits
-
-
Josef 'Jeff' Sipek authored
This patch is inspired by Arjan's "Patch series to mark struct file_operations and struct inode_operations const". Compile tested with gcc & sparse. Signed-off-by:
Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Arjan van de Ven authored
Many struct inode_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by:
Arjan van de Ven <arjan@linux.intel.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Arjan van de Ven authored
Many struct file_operations in the kernel can be "const". Marking them const moves these to the .rodata section, which avoids false sharing with potential dirty data. In addition it'll catch accidental writes at compile time to these shared resources. Signed-off-by:
Arjan van de Ven <arjan@linux.intel.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- 07 Feb, 2007 14 commits
-
-
Sunil Mushran authored
Currently the ocfs2 dlm has no timeout during dlm join domain. While this is not a problem in normal operation, this does become an issue if, say, the other node is refusing to let the node join the domain because of a stuck recovery. This patch adds a 90 sec timeout. Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Sunil Mushran authored
These messages can easily be activated using the mlog infrastructure and don't need to be enabled by default. Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Srinivas Eeda authored
There is a small window where a joining node may not see the node(s) that just died but are still part of the domain. To fix this, we must disallow join requests if the joining node has a different node map. A new field node_map is added to dlm_query_join_request to send the current nodes nodemap along with join request. On the receiving end the nodes that are part of the cluster verifies if this new node sees all the nodes that are still part of the cluster. They disallow the join if the maps mismatch. Signed-off-by:
Srinivas Eeda <srinivas.eeda@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Sunil Mushran authored
Eventhough the set refmap bit message is sent before the clear refmap message, currently there is no guarentee that the set message will be handled before the clear. This patch prevents the clear refmap to be processed while the node is sending assert master messages to other nodes. (The set refmap message is sent as a response to the assert master request). Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
This patch prevents the dlm from sending the clear refmap message before the set refmap. We use the newly created post function handler routine to accomplish the task. Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
Currently o2net allows one handler function per message type. This patch adds the ability to call another function to be called after the handler has returned the message to the other node. Handlers are now given the option of returning a context (in the form of a void **) which will be passed back into the post message handler function. Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
The dlm encodes the node number and a sequence number in the lock cookie. It also stores the cookie in the lockres in the big endian format to avoid swapping 8 bytes on each lock request. The bug here was that it was assuming the cookie to be in the cpu format when decoding it for printing the error message. This patch swaps the bytes before the print. Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
When the lockres is in migrate or recovery state, all convert requests are denied with the appropriate error status that is handled on the requester node. This patch silences the erroneous error message printed on the master node. Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
The dlm was not waking up threads waiting on the lockres wait queue, waiting for the lockres to be no longer be in the DLM_LOCK_RES_IN_PROGRESS and the DLM_LOCK_RES_MIGRATING states. Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
dlm_dispatch_work was not processing the queued up tasks at the first sign of the node leaving the domain leading to not only incompleted tasks but also a mismatch in the dlm refcnt. Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
This is to prevent the condition in which a previously queued up assert master asserts after we start the migration. Now migration ensures the workqueue is flushed before proceeding with migrating the lock to another node. This condition is typically encountered during parallel umounts. Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
The migrate lockres handler was only searching for its lock on migrated lockres on the expected queue. This could be problematic as the new master could have also issued a convert request during the migration and thus moved the lock to the convert queue. We now search for the lock on all three queues. Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <Sunil.Mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-
Kurt Hackel authored
dlmunlock() was not waiting for migration to complete before releasing locks on locally mastered locks. Signed-off-by:
Kurt Hackel <kurt.hackel@oracle.com> Signed-off-by:
Sunil Mushran <Sunil.Mushran@oracle.com> Signed-off-by:
Mark Fasheh <mark.fasheh@oracle.com>
-