<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/ocfs2/stackglue.h, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-13T20:57:57Z</updated>
<entry>
<title>ocfs2: POSIX file locks support</title>
<updated>2008-10-13T20:57:57Z</updated>
<author>
<name>Mark Fasheh</name>
</author>
<published>2008-07-21T21:29:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=53da4939f349d4edd283b043219221ca5b78e4d4'/>
<id>urn:sha1:53da4939f349d4edd283b043219221ca5b78e4d4</id>
<content type='text'>
This is actually pretty easy since fs/dlm already handles the bulk of the
work. The Ocfs2 userspace cluster stack module already uses fs/dlm as the
underlying lock manager, so I only had to add the right calls.

Cluster-aware POSIX locks ("plocks") can be turned off by the same means at
UNIX locks - mount with 'noflocks', or create a local-only Ocfs2 volume.
Internally, the file system uses two sets of file_operations, depending on
whether cluster aware plocks is required. This turns out to be easier than
implementing local-only versions of -&gt;lock.

Signed-off-by: Mark Fasheh &lt;mfasheh@suse.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Remove -&gt;hangup() from stack glue operations.</title>
<updated>2008-06-16T17:46:52Z</updated>
<author>
<name>Joel Becker</name>
</author>
<published>2008-05-30T22:58:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c39450b39880e162b3eb339672314101f58ee1a'/>
<id>urn:sha1:2c39450b39880e162b3eb339672314101f58ee1a</id>
<content type='text'>
The -&gt;hangup() call was only used to execute ocfs2_hb_ctl.  Now that
the generic stack glue code handles this, the underlying stack drivers
don't need to know about it.

Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mfasheh@suse.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Move the call of ocfs2_hb_ctl into the stack glue.</title>
<updated>2008-06-16T17:46:51Z</updated>
<author>
<name>Joel Becker</name>
</author>
<published>2008-05-30T22:43:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f9a99f4eccc64650e932090cff0ebd07b81e334'/>
<id>urn:sha1:9f9a99f4eccc64650e932090cff0ebd07b81e334</id>
<content type='text'>
Take o2hb_stop() out of the o2cb code and make it part of the generic
stack glue as ocfs2_leave_group().  This also allows us to remove the
ocfs2_get_hb_ctl_path() function - everything to do with hb_ctl is now
part of stackglue.c.  o2cb no longer needs a -&gt;hangup() function.

Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mfasheh@suse.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Move the hb_ctl_path sysctl into the stack glue.</title>
<updated>2008-06-16T17:46:50Z</updated>
<author>
<name>Joel Becker</name>
</author>
<published>2008-05-30T22:30:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3878f110f71a0971ff7acc15dd6db711b6ef37c6'/>
<id>urn:sha1:3878f110f71a0971ff7acc15dd6db711b6ef37c6</id>
<content type='text'>
ocfs2 needs to call out to the hb_ctl program at unmount for all cluster
stacks.  The first step is to move the hb_ctl_path sysctl out of the
o2cb code and into the generic stack glue.

Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mfasheh@suse.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: add fsdlm to stackglue</title>
<updated>2008-04-18T15:56:07Z</updated>
<author>
<name>David Teigland</name>
</author>
<published>2008-02-20T22:29:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cf4d8d75d8aba537a19b313a9364fd08ddbd5622'/>
<id>urn:sha1:cf4d8d75d8aba537a19b313a9364fd08ddbd5622</id>
<content type='text'>
Add code to use fs/dlm.

[ Modified to be part of the stack_user module -- Joel ]

Signed-off-by: David Teigland &lt;teigland@redhat.com&gt;
Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mfasheh@suse.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Add the 'cluster_stack' sysfs file.</title>
<updated>2008-04-18T15:56:05Z</updated>
<author>
<name>Joel Becker</name>
</author>
<published>2008-02-01T23:17:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9c6c877c04ce17d76a35d2173d3a3840d6b796a2'/>
<id>urn:sha1:9c6c877c04ce17d76a35d2173d3a3840d6b796a2</id>
<content type='text'>
Userspace can now query and specify the cluster stack in use via the
/sys/fs/ocfs2/cluster_stack file.  By default, it is 'o2cb', which is
the classic stack.  Thus, old tools that do not know how to modify this
file will work just fine.  The stack cannot be modified if there is a
live filesystem.

ocfs2_cluster_connect() now takes the expected cluster stack as an
argument.  This way, the filesystem and the stack glue ensure they are
speaking to the same backend.

If the stack is 'o2cb', the o2cb stack plugin is used.  For any other
value, the fsdlm stack plugin is selected.

Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mfasheh@suse.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Break out stackglue into modules.</title>
<updated>2008-04-18T15:56:05Z</updated>
<author>
<name>Joel Becker</name>
</author>
<published>2008-02-01T23:03:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=286eaa95c5c5915a6b72cc3f0a2534161fd7928b'/>
<id>urn:sha1:286eaa95c5c5915a6b72cc3f0a2534161fd7928b</id>
<content type='text'>
We define the ocfs2_stack_plugin structure to represent a stack driver.
The o2cb stack code is split into stack_o2cb.c.  This becomes the
ocfs2_stack_o2cb.ko module.

The stackglue generic functions are similarly split into the
ocfs2_stackglue.ko module.  This module now provides an interface to
register drivers.  The ocfs2_stack_o2cb driver registers itself.  As
part of this interface, ocfs2_stackglue can load drivers on demand.
This is accomplished in ocfs2_cluster_connect().

ocfs2_cluster_disconnect() is now notified when a _hangup() is pending.
If a hangup is pending, it will not release the driver module and will
let _hangup() do that.

Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Create ocfs2_stack_operations and split out the o2cb stack.</title>
<updated>2008-04-18T15:56:05Z</updated>
<author>
<name>Joel Becker</name>
</author>
<published>2008-02-01T23:02:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e3dad42bf993a0f24eb6e46152356c9b119c15e8'/>
<id>urn:sha1:e3dad42bf993a0f24eb6e46152356c9b119c15e8</id>
<content type='text'>
Define the ocfs2_stack_operations structure.  Build o2cb_stack_ops from
all of the o2cb-specific stack functions.  Change the generic stack glue
functions to call the stack_ops instead of the o2cb functions directly.

The o2cb functions are moved to stack_o2cb.c.  The headers are cleaned up
to where only needed headers are included.

In this code, stackglue.c and stack_o2cb.c refer to some shared
extern variables.  When they become modules, that will change.

Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mfasheh@suse.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Clean up stackglue initialization</title>
<updated>2008-04-18T15:56:05Z</updated>
<author>
<name>Joel Becker</name>
</author>
<published>2008-01-31T00:58:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63e0c48ae6986a5bbb8e8dd9210c0e6ca79f2e50'/>
<id>urn:sha1:63e0c48ae6986a5bbb8e8dd9210c0e6ca79f2e50</id>
<content type='text'>
The stack glue initialization function needs a better name so that it can be
used cleanly when stackglue becomes a module.

Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mfasheh@suse.com&gt;
</content>
</entry>
<entry>
<title>ocfs2: Abstract out a debugging function for underlying dlms.</title>
<updated>2008-04-18T15:56:04Z</updated>
<author>
<name>Joel Becker</name>
</author>
<published>2008-01-30T00:59:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cf0acdcd640e9466059e69951c557e90b4bee45a'/>
<id>urn:sha1:cf0acdcd640e9466059e69951c557e90b4bee45a</id>
<content type='text'>
dlmglue.c was still referencing a raw o2dlm lksb in one instance.  Let's
create a generic ocfs2_dlm_dump_lksb() function.  This allows underlying
DLMs to print whatever they want about their lock.

We then move the o2dlm dump into stackglue.c where it belongs.

Signed-off-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Mark Fasheh &lt;mfasheh@suse.com&gt;
</content>
</entry>
</feed>
