On Mon, Oct 29, 2012 at 12:07:10PM -0400, Mathieu Desnoyers wrote:
I'm fine with turning a direct + modulo mapping into a dispersed hash as
long as there are no underlying assumptions about sequentiality of value
accesses.
If the access pattern would happen to be typically sequential, then
A variety of things including bug fixes, cleanups, and a couple
enhancements. Some of these updates are broad enough to cross the current
dlm patch divisions in -mm.
Dave
--
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
Use node weights in directory mapping. Allows nodes to be configured to
be responsible for more or less of the directory.
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux-2.6.12-mm1/drivers/dlm/dir.c
===
--- linux
This patch makes needlessly global code static.
Signed-off-by: Adrian Bunk [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux-2.6.12-mm1/drivers/dlm/lock.c
===
--- linux-2.6.12-mm1.orig/drivers/dlm/lock.c
An extra refcount was being left on devices.
Signed-off-by: Patrick Caulfield [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux/drivers/dlm/device.c
===
--- linux.orig/drivers/dlm/device.c
+++ linux
When a lockspace on a remote node is not found for a recovery status
request, an error needs to be returned so the requesting node can
distinguish it from a normal reply with a zero status.
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux/drivers/dlm/rcom.c
The list of root rsb's created during recovery needs to be released if
recovery is aborted early.
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux/drivers/dlm/recoverd.c
===
--- linux.orig/drivers/dlm/recoverd.c
If recover_locks() on an rsb doesn't find any locks to recover, we need to
clear the NEW_MASTER flag since it won't be cleared by
dlm_recovered_lock().
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux/drivers/dlm/recover.c
Per-lockspace option for dlm to run without using a resource
directory. What would be the directory node for a resource is
statically assigned to be the master node instead.
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux/drivers/dlm/dir.c
-by: David Teigland [EMAIL PROTECTED]
Index: linux-2.6.12-mm1/drivers/dlm/debug_fs.c
===
--- linux-2.6.12-mm1.orig/drivers/dlm/debug_fs.c
+++ linux-2.6.12-mm1/drivers/dlm/debug_fs.c
@@ -99,11 +99,16 @@ static int print_resource(struct
Replace test/set/clear_bit of rsb flags with new inline functions that use
the less expense non-atomic bit ops.
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux-2.6.12-mm1/drivers/dlm/debug_fs.c
===
--- linux-2.6.12-mm1
Fix potential race in lowcomms.
Signed-off-by: Patrick Caulfield [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux-2.6.12-mm1/drivers/dlm/lowcomms.c
===
--- linux-2.6.12-mm1.orig/drivers/dlm/lowcomms.c
During recovery, set the RESEND flag on locks waiting for a lookup so
they'll be resent when recovery completes.
Signed-off-by: David Teigland [EMAIL PROTECTED]
Index: linux-2.6.12-mm1/drivers/dlm/lock.c
===
--- linux-2.6.12-mm1
Some of the comments about the dlm concerned how it's configured (from
user space.) In particular, there was interest in seeing the dlm and
ocfs2 use common methods for their configuration.
The first area I'm looking at is how we get addresses/ids of other nodes.
Currently, the dlm uses an ioctl
On Tue, Jul 19, 2005 at 05:52:14PM +0200, Lars Marowsky-Bree wrote:
The nodeid, I thought, was relative to a given DLM namespace, no? This
concept seems to be missing here, or are you suggesting the nodeid to be
global across namespaces?
I'm not sure I understand what you mean. A node would
On Tue, Jul 19, 2005 at 05:48:26PM -0700, Mark Fasheh wrote:
For OCFS2 that would mean that an ocfs2_nodemanager would still exist,
but as a much smaller module sitting on top of 'nodemanager'.
Yep, factoring out the common bits.
So no port attribute. The OCFS2 network code normally takes
On Fri, Apr 05, 2013 at 11:34:45AM +0100, Steven Whitehouse wrote:
Please consider pulling the following changes,
There's some mixup here that should be cleared up first.
David Teigland (2):
GFS2: Fix unlock of fcntl locks during withdrawn state
Steven Whitehouse (1):
GFS2
On Wed, Apr 10, 2013 at 09:40:39AM -0400, Don Zickus wrote:
However, we still have the problem that if the machine panics and we want
to jump into the kdump kernel, we need to 'kick' the watchdog one more
time. This provides us a sane sync point for determining how long we have
to load the
On Wed, Feb 06, 2013 at 11:40:39AM -0800, Tejun Heo wrote:
static int create_lkb(struct dlm_ls *ls, struct dlm_lkb **lkb_ret)
{
struct dlm_lkb *lkb;
- int rv, id;
+ int rv;
lkb = dlm_allocate_lkb(ls);
if (!lkb)
@@ -1199,19 +1199,13 @@ static int
On Mon, Mar 11, 2013 at 01:28:18PM -0700, Tejun Heo wrote:
Ah, right, in preloaded section, the allocation is expected to fail
before falling back to the preload buffer and I forgot to add
__GFP_NOWARN to the first try. Something like the following should
make it go away. Can you please test
of a case where
this breaks userland (clvmd) when maximum resource name
lengths are used. I am still sorting out exactly which
combinations of kernel and userland libs are a problem.
Reported-by: Jana Saout j...@saout.de
CC: Sasha Levin levinsasha...@gmail.com
Signed-off-by: David Teigland teigl
-by: Sasha Levin levinsasha...@gmail.com
Signed-off-by: David Teigland teigl...@redhat.com
---
fs/dlm/user.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/fs/dlm/user.c b/fs/dlm/user.c
index eb4ed9b..911649a 100644
--- a/fs/dlm/user.c
+++ b/fs/dlm/user.c
@@ -503,6 +503,13 @@ static
On Mon, Feb 04, 2013 at 12:06:55PM -0500, David Teigland wrote:
Please pull the following fix from branch:
git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm.git for-linus
This reverts commit 2b75bc9121e54e22537207b47b71373bcb0be41c.
Hi Linus,
You can choose to pull
-off-by: Tejun Heo t...@kernel.org
Reported-by: David Teigland teigl...@redhat.com
Cc: KAMEZAWA Hiroyuki kamezawa.hir...@jp.fujitsu.com
David, can you please test whether the patch makes the skipped
deletion bug go away?
Yes, I've tested, and it works fine now.
Thanks,
Dave
On Mon, Jan 28, 2013 at 10:57:23AM -0500, David Teigland wrote:
On Fri, Jan 25, 2013 at 05:31:08PM -0800, Tejun Heo wrote:
idr_destroy() can destroy idr by itself and idr_remove_all() is being
deprecated.
The conversion isn't completely trivial for recover_idr_clear() as
it's the only
On Tue, Jan 29, 2013 at 10:13:17AM -0500, David Teigland wrote:
On Mon, Jan 28, 2013 at 10:57:23AM -0500, David Teigland wrote:
On Fri, Jan 25, 2013 at 05:31:08PM -0800, Tejun Heo wrote:
idr_destroy() can destroy idr by itself and idr_remove_all() is being
deprecated
On Thu, Jan 31, 2013 at 04:18:41PM -0800, Tejun Heo wrote:
It looks a bit weird to me that ls-ls_recover_list_count is also
incremented by recover_list_add(). The two code paths don't seem to
be interlocke at least upon my very shallow glance. Is it that only
either the list or idr is in
tested.
Signed-off-by: Tejun Heo t...@kernel.org
Cc: Christine Caulfield ccaul...@redhat.com
Cc: David Teigland teigl...@redhat.com
Cc: cluster-de...@redhat.com
---
This patch depends on an earlier idr patch and I think it would be
best to route these together through -mm. Christine, David
idr_destroy(). Replace it with idr_remove() call
inside idr_for_each_entry() loop. It goes on top so that it matches
the operation order in recover_idr_del().
Only compile tested.
Signed-off-by: Tejun Heo t...@kernel.org
Cc: Christine Caulfield ccaul...@redhat.com
Cc: David Teigland teigl
-by: David Teigland teigl...@redhat.com
---
fs/dlm/dlm_internal.h | 3 +++
fs/dlm/lock.c | 15 +++
2 files changed, 18 insertions(+)
diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h
index 77c0f70..e7665c3 100644
--- a/fs/dlm/dlm_internal.h
+++ b/fs/dlm/dlm_internal.h
Hi, this is the latest set of gfs patches, it includes some minor munging
since the previous set. Andrew, could this be added to -mm? there's not
much in the way of pending changes.
http://redhat.com/~teigland/gfs2/20050901/gfs2-full.patch
http://redhat.com/~teigland/gfs2/20050901/broken-out/
The lock_nolock module does no inter-node locking and allows gfs to be
used as a local file system.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/locking/nolock/Makefile |3
fs/gfs2/locking/nolock/main.c | 267
The lock_dlm module uses the DLM in linux/drivers/dlm/ for inter-node
locking.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/locking/dlm/Makefile |3
fs/gfs2/locking/dlm/lock.c | 533
The lock_harness module allows a gfs file system to connect to a given
lock module.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/locking/harness/Makefile |3
fs/gfs2/locking/harness/lm_interface.h | 286
A per-node on-disk log is used for recovery.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/log.c | 670 +
fs/gfs2/log.h | 68 +
fs/gfs2/recovery.c | 561
Add gfs to the build system and gfs2.txt to Documentation.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
Documentation/filesystems/gfs2.txt | 194 +
fs/Kconfig | 15 ++
fs/Makefile
Code that deals with quotas.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/lvb.c | 61 ++
fs/gfs2/lvb.h | 28 +
fs/gfs2/quota.c | 1209
fs/gfs2/quota.h | 34 +
4 files
There are a variety of mount options, tunable parameters, internal
statistics, and methods of online file system manipulation.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/ioctl.c | 1485
Code that handles extended attributes and ACL's.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/acl.c | 313 ++
fs/gfs2/acl.h | 37 +
fs/gfs2/eaops.c | 179 ++
fs/gfs2/eaops.h | 30 +
fs/gfs2/eattr.c | 1621
Central header files that are widely used.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/gfs2.h | 77 +++
fs/gfs2/incore.h| 691 +++
include/linux/gfs2_ioctl.h | 30 +
include
Code that manages block allocation.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/bits.c | 179 +++
fs/gfs2/bits.h | 28 +
fs/gfs2/rgrp.c | 1374 +
fs/gfs2/rgrp.h | 62
Code that handles directory operations.
Signed-off-by: Ken Preslan [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/gfs2/dir.c | 2158 ++
fs/gfs2/dir.h | 51 +
2 files changed, 2209 insertions(+)
--- a/fs/gfs2
On Thu, Sep 01, 2005 at 04:19:34PM +0200, Arjan van de Ven wrote:
+/* Endian functions */
e again why??
Why is this a compiletime hack?
Either you care about either-endian on disk, at which point it has to be
a runtime thing, or you make the on disk layout fixed endian, at which
On Thu, Sep 01, 2005 at 06:56:03PM +0100, Christoph Hellwig wrote:
Whether the gfs2 code is mergeable is a completely different question,
and it seems at least debatable to submit a filesystem for inclusion
I actually asked what needs to be done for merging. We appreciate the
feedback and are
On Thu, Sep 01, 2005 at 01:35:23PM +0200, Arjan van de Ven wrote:
+ gfs2_assert(gl-gl_sbd, atomic_read(gl-gl_count) 0,);
what is gfs2_assert() about anyway? please just use BUG_ON directly
everywhere
When a machine has many gfs file systems mounted at once it can be useful
to know which
On Thu, Sep 01, 2005 at 01:21:04PM -0700, Andrew Morton wrote:
Alan Cox [EMAIL PROTECTED] wrote:
- Why GFS is better than OCFS2, or has functionality which OCFS2 cannot
possibly gain (or vice versa)
- Relative merits of the two offerings
You missed the important one - people
On Sat, Sep 03, 2005 at 08:14:00AM +0200, Arjan van de Ven wrote:
On Sat, 2005-09-03 at 13:18 +0800, David Teigland wrote:
On Thu, Sep 01, 2005 at 01:21:04PM -0700, Andrew Morton wrote:
Alan Cox [EMAIL PROTECTED] wrote:
- Why GFS is better than OCFS2, or has functionality which OCFS2
On Fri, Sep 02, 2005 at 10:28:21PM -0700, Greg KH wrote:
On Fri, Sep 02, 2005 at 05:44:03PM +0800, David Teigland wrote:
On Thu, Sep 01, 2005 at 01:35:23PM +0200, Arjan van de Ven wrote:
+ gfs2_assert(gl-gl_sbd, atomic_read(gl-gl_count) 0,);
what is gfs2_assert() about anyway
On Sat, Sep 03, 2005 at 10:41:40PM -0700, Andrew Morton wrote:
Joel Becker [EMAIL PROTECTED] wrote:
What happens when we want to add some new primitive which has no
posix-file analog?
The point of dlmfs is not to express every primitive that the
DLM has. dlmfs cannot
On Thu, Sep 01, 2005 at 01:35:23PM +0200, Arjan van de Ven wrote:
+void gfs2_glock_hold(struct gfs2_glock *gl)
+{
+ glock_hold(gl);
+}
eh why?
You removed the comment stating exactly why, see below. If that's not a
accepted technique in the kernel, say so and I'll be happy to change
On Thu, Sep 01, 2005 at 01:35:23PM +0200, Arjan van de Ven wrote:
+static unsigned int handle_roll(atomic_t *a)
+{
+ int x = atomic_read(a);
+ if (x 0) {
+ atomic_set(a, 0);
+ return 0;
+ }
+ return (unsigned int)x;
+}
this is just plain scary.
On Mon, Sep 05, 2005 at 10:58:08AM +0200, J?rn Engel wrote:
#define gfs2_assert(sdp, assertion) do { \
if (unlikely(!(assertion))) { \
printk(KERN_ERR GFS2: fsid=\n, (sdp)-sd_fsname); \
BUG();
On Mon, Sep 05, 2005 at 01:54:08AM -0700, Andrew Morton wrote:
David Teigland [EMAIL PROTECTED] wrote:
We export our full dlm API through read/write/poll on a misc device.
inotify did that for a while, but we ended up going with a straight syscall
interface.
How fat is the dlm
On Mon, Sep 05, 2005 at 02:19:48AM -0700, Andrew Morton wrote:
David Teigland [EMAIL PROTECTED] wrote:
Four functions:
create_lockspace()
release_lockspace()
lock()
unlock()
Neat. I'd be inclined to make them syscalls then. I don't suppose anyone
is likely to object if we
On Mon, Aug 08, 2005 at 05:14:45PM +0300, Pekka J Enberg wrote:
if (!dumping)
down_read(mm-mmap_sem);
+
+ for (vma = find_vma(mm, start); vma; vma = vma-vm_next) {
+ if (end = vma-vm_start)
+
On Tue, Aug 02, 2005 at 09:45:24AM +0200, Arjan van de Ven wrote:
* + if (create)
+ down_write(ip-i_rw_mutex);
+ else
+ down_read(ip-i_rw_mutex);
why do you use a rwsem and not a regular semaphore? You are aware that
rwsems are far more expensive than regular
Thanks for all the review and comments. This is a new set of patches that
incorporates the suggestions we've received.
http://redhat.com/~teigland/gfs2/20050811/gfs2-full.patch
http://redhat.com/~teigland/gfs2/20050811/broken-out/
Dave
-
To unsubscribe from this list: send the line unsubscribe
On Thu, Aug 11, 2005 at 04:21:04PM +0800, Michael wrote:
I have the same question as I asked before, how can I see GFS in make
menuconfig, after I patch gfs2-full.patch into a 2.6.12.2 kernel?
You need to select the dlm under drivers. It's in -mm, or apply
On Thu, Aug 11, 2005 at 10:32:38AM +0200, Arjan van de Ven wrote:
On Thu, 2005-08-11 at 16:17 +0800, David Teigland wrote:
Thanks for all the review and comments. This is a new set of patches that
incorporates the suggestions we've received.
all of them or only a subset?
All patches, now
On Thu, Aug 11, 2005 at 10:50:32AM +0200, Arjan van de Ven wrote:
Thanks for all the review and comments. This is a new set of
patches that incorporates the suggestions we've received.
all of them or only a subset?
with them I meant the suggestions not the patches ;)
The large
Use configfs to configure lockspace members and node addresses. This was
previously done with sysfs and ioctl.
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
drivers/dlm/Makefile |1
drivers/dlm/config.c | 759 -
drivers/dlm
The reduced member_sysfs.c is no longer related to lockspace members.
Move what's left into lockspace.c which is the only file that uses the
remaining functions.
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
Makefile |1
lockspace.c| 155
Use linux/jhash.h instead of our own hash function.
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
dir.c |2 +-
dlm_internal.h |1 +
lock.c |2 +-
util.c | 34 --
util.h |2 --
5 files changed, 3 insertions
In the dlm I use config_group_find_obj() which isn't exported.
Signed-off-by: David Teigland [EMAIL PROTECTED]
diff -urpN a/fs/configfs/item.c b/fs/configfs/item.c
--- a/fs/configfs/item.c2005-08-17 17:19:23.0 +0800
+++ b/fs/configfs/item.c2005-08-18 14:15:51.681973168
Are you the official maintainer of the DLM subsystem? Could you submit
a patch to add a MAINTAINERS entry? I was looking for a maintainer to
yes
Signed-off-by: David Teigland [EMAIL PROTECTED]
diff -urpN a/MAINTAINERS b/MAINTAINERS
--- a/MAINTAINERS 2005-08-17 17:19:23.0 +0800
On Thu, Aug 18, 2005 at 02:23:48PM -0700, Mark Fasheh wrote:
On Thu, Aug 18, 2005 at 02:07:50PM +0800, David Teigland wrote:
+ * /config/dlm/cluster/spaces/space/nodes/node/nodeid
+ * /config/dlm/cluster/spaces/space/nodes/node/weight
+ * /config/dlm/cluster/comms/comm/nodeid
+ * /config
On 8/23/05, Adrian Bunk [EMAIL PROTECTED] wrote:
config DLM
tristate Distributed Lock Manager (DLM)
+ depends on SYSFS
depends on IPV6 || IPV6=n
select IP_SCTP
select CONFIGFS_FS
Thanks, you added this once before but it got clobbered
by your
Hi, GFS (Global File System) is a cluster file system that we'd like to
see added to the kernel. The 14 patches total about 900K so I won't send
them to the list unless that's requested. Comments and suggestions are
welcome. Thanks
http://redhat.com/~teigland/gfs2/20050801/gfs2-full.patch
On Tue, Aug 02, 2005 at 09:45:24AM +0200, Arjan van de Ven wrote:
* The on disk structures are defined in terms of uint32_t and friends,
which are NOT endian neutral. Why are they not le32/be32 and thus
endian-defined? Did you run bitwise-sparse on GFS yet ?
GFS has had proper endian handling
On Tue, Aug 02, 2005 at 01:16:53PM +0300, Pekka Enberg wrote:
+void *gmalloc_nofail_real(unsigned int size, int flags, char *file,
+ unsigned int line)
+{
+ void *x;
+ for (;;) {
+ x = kmalloc(size, flags);
+ if (x)
+
On Wed, Aug 03, 2005 at 11:17:09AM +0200, Arjan van de Ven wrote:
On Wed, 2005-08-03 at 11:56 +0800, David Teigland wrote:
The point is you can define GFS2_ENDIAN_BIG to compile gfs to be BE
on-disk instead of LE which is another useful way to verify endian
correctness.
that sounds wrong
On Tue, Aug 02, 2005 at 09:45:24AM +0200, Arjan van de Ven wrote:
* +static const uint32_t crc_32_tab[] = .
why do you duplicate this? The kernel has a perfectly good set of
generic crc32 tables/functions just fine
The gfs2_disk_hash() function and the crc table on which it's based are a
On Fri, Aug 05, 2005 at 09:34:38AM +0200, Arjan van de Ven wrote:
On Fri, 2005-08-05 at 15:14 +0800, David Teigland wrote:
On Tue, Aug 02, 2005 at 09:45:24AM +0200, Arjan van de Ven wrote:
* +static const uint32_t crc_32_tab[] = .
why do you duplicate this? The kernel has
On Fri, Aug 05, 2005 at 12:07:50PM +0200, J?rn Engel wrote:
On Fri, 5 August 2005 17:44:52 +0800, David Teigland wrote:
Do we go a step beyond this and use say the crc32() function from
linux/crc32.h? Is this _function_ as standard and unchanging as the table
of crcs? In my tests
On Fri, Aug 05, 2005 at 03:14:15PM +0800, David Teigland wrote:
On Tue, Aug 02, 2005 at 09:45:24AM +0200, Arjan van de Ven wrote:
* +++ b/fs/gfs2/fixed_div64.h 2005-08-01 14:13:08.009808200 +0800
e why?
I'm not sure, actually, apart from the comments:
do_div: /* For ia32 we
On Wed, Aug 03, 2005 at 09:44:06AM +0300, Pekka Enberg wrote:
+uint32_t gfs2_hash(const void *data, unsigned int len)
+{
+ uint32_t h = 0x811C9DC5;
+ h = hash_more_internal(data, len, h);
+ return h;
+}
Is there a reason why you cannot use linux/hash.h or linux/jhash.h?
On Mon, Aug 08, 2005 at 01:18:45PM +0300, Pekka J Enberg wrote:
gfs2-02.patch:+ RETRY_MALLOC(ip = kmem_cache_alloc(gfs2_inode_cachep,
- GFP_NOFAIL.
Already gone, inode_create() can return an error.
if (create) {
RETRY_MALLOC(page = grab_cache_page(aspace-i_mapping, index),
On Mon, Aug 08, 2005 at 01:57:55PM +0300, Pekka J Enberg wrote:
David Teigland writes:
but why can't you return NULL here on failure like you do for
find_lock_page()?
because create is set
Yes, but looking at (some of the) top-level callers, there's no real reason
why create must
On Thu, Sep 01, 2005 at 01:35:23PM +0200, Arjan van de Ven wrote:
+static inline void glock_put(struct gfs2_glock *gl)
+{
+ if (atomic_read(gl-gl_count) == 1)
+ gfs2_glock_schedule_for_reclaim(gl);
+ gfs2_assert(gl-gl_sbd, atomic_read(gl-gl_count) 0,);
+
On Sun, Sep 09, 2012 at 04:16:58PM +0200, Sasha Levin wrote:
device_write only checks whether the request size is big enough, but it
doesn't
check if the size is too big.
At that point, it also tries to allocate as much memory as the user has
requested
even if it's too much. This can
through a hash bucket.
The other commits include minor fixes and changes.
Thanks,
Dave
David Teigland (6):
dlm: use rsbtbl as resource directory
dlm: use idr instead of list for recovered rsbs
dlm: fix race between remove and lookup
dlm: use wait_event_timeout
dlm: fix
On Mon, Aug 13, 2012 at 02:29:55PM +0800, Ying Xue wrote:
But I have submitted another patch:
https://lkml.org/lkml/2012/8/9/668
Yes I got it, to see all the patches I've pushed out, check here:
On Fri, Aug 10, 2012 at 02:58:42PM +0800, Ying Xue wrote:
Since add_sock() always returns a success code - 0, its return
value type should be changed from integer to void.
Thanks, I've pushed those to my next branch.
Dave
--
To unsubscribe from this list: send the line unsubscribe linux-kernel
/user.c input validation fixes
David Teigland (2):
dlm: proper types for asts and basts
dlm: eliminate astparam type casting
Denis Cheng (1):
dlm: add __init and __exit marks to init and exit functions
fs/dlm/ast.c |9 ++--
fs/dlm/config.c |2 +-
fs/dlm
From: Al Viro [EMAIL PROTECTED]
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/dlm_internal.h |6 +++---
fs/dlm/rcom.c | 15 ---
fs/dlm/util.c | 20
3 files changed, 11 insertions(+), 30
From: Al Viro [EMAIL PROTECTED]
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/dir.c | 23 ---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/fs/dlm/dir.c b/fs/dlm/dir.c
index ce30136..831050e 100644
From: Al Viro [EMAIL PROTECTED]
* check that length is large enough to cover the non-variable part of message or
rcom resp. (after checking that it's large enough to cover the header, of
course).
* kill more pointless casts
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David
From: Al Viro [EMAIL PROTECTED]
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/dlm_internal.h | 22 +++---
fs/dlm/lock.c | 34 +++---
fs/dlm/rcom.c | 14 +++---
fs/dlm
From: Al Viro [EMAIL PROTECTED]
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/lock.c |3 +++
fs/dlm/rcom.c | 12 +++-
2 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 75176b5
From: Al Viro [EMAIL PROTECTED]
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/rcom.c |7 +++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/fs/dlm/rcom.c b/fs/dlm/rcom.c
index 3f9b96f..a312f1d 100644
--- a/fs/dlm
From: Al Viro [EMAIL PROTECTED]
a) in device_write(): add sentinel NUL byte, making sure that lspace.name will
be NUL-terminated
b) in compat_input() be keep it simple about the amounts of data we are copying.
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL
From: Al Viro [EMAIL PROTECTED]
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/dir.c |2 +-
fs/dlm/dlm_internal.h |2 +-
fs/dlm/rcom.c | 11 ++-
fs/dlm/recover.c |4 ++--
4 files changed, 10
.
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/lock.c |2 +-
fs/dlm/requestqueue.c | 12 ++--
fs/dlm/requestqueue.h |2 +-
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index
From: Al Viro [EMAIL PROTECTED]
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/lock.c |7 ---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 6c605fc..0593dd8 100644
--- a/fs/dlm
oops before
that while calculating hash of up to 64Kb worth of data - with data
actually being 64 _bytes_ in kmalloc()'ed struct.
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/lock.c |6 +-
1 files changed, 5 insertions(+), 1 deletions
From: Al Viro [EMAIL PROTECTED]
... those can happen and BUG() from DLM_ASSERT() in allocate_direntry() is
not a good way to handle them.
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/dir.c |3 +++
1 files changed, 3 insertions(+), 0
From: Al Viro [EMAIL PROTECTED]
Signed-off-by: Al Viro [EMAIL PROTECTED]
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/lock.c |4
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 6d98cf9..5b82187 100644
--- a/fs/dlm/lock.c
Put lkb_astparam in a union with a dlm_user_args pointer to
eliminate a lot of type casting.
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/debug_fs.c |6 ++
fs/dlm/dlm_internal.h |5 -
fs/dlm/lock.c | 14 ++
fs/dlm/memory.c |2
Use proper types for ast and bast functions, and use
consistent type for ast param.
Signed-off-by: David Teigland [EMAIL PROTECTED]
---
fs/dlm/ast.c |9 +++
fs/dlm/dlm_internal.h | 14 +---
fs/dlm/lock.c | 50
: receive_rcom_lock_args() overflow check
dlm: make find_rsb() fail gracefully when namelen is too large
dlm: fix overflows when copying from -m_extra to lvb
dlm: fix dlm_dir_lookup() handling of too long names
dlm: dlm/user.c input validation fixes
David Teigland (2):
dlm
1 - 100 of 389 matches
Mail list logo