ocfs2: Move /sys/o2cb to /sys/fs/o2cb
Mark Fasheh [Wed, 30 Jan 2008 01:08:26 +0000 (17:08 -0800)]
/sys/fs is where we really want file system specific sysfs objects.

Ocfs2-tools has been updated to look in /sys/fs/o2cb. We can maintain
backwards compatibility with old ocfs2-tools by using a sysfs symlink. After
some time (2 years), the symlink can be safely removed. This patch also adds
documentation to make it easier for people to figure out what /sys/fs/o2cb
is used for.

Signed-off-by: Mark Fasheh <mfasheh@suse.com>

Documentation/ABI/obsolete/o2cb [new file with mode: 0644]
Documentation/ABI/stable/o2cb [new file with mode: 0644]
Documentation/feature-removal-schedule.txt
fs/ocfs2/cluster/sys.c

diff --git a/Documentation/ABI/obsolete/o2cb b/Documentation/ABI/obsolete/o2cb
new file mode 100644 (file)
index 0000000..9c49d8e
--- /dev/null
@@ -0,0 +1,11 @@
+What:          /sys/o2cb symlink
+Date:          Dec 2005
+KernelVersion: 2.6.16
+Contact:       ocfs2-devel@oss.oracle.com
+Description:   This is a symlink: /sys/o2cb to /sys/fs/o2cb. The symlink will
+               be removed when new versions of ocfs2-tools which know to look
+               in /sys/fs/o2cb are sufficiently prevalent. Don't code new
+               software to look here, it should try /sys/fs/o2cb instead.
+               See Documentation/ABI/stable/o2cb for more information on usage.
+Users:         ocfs2-tools. It's sufficient to mail proposed changes to
+               ocfs2-devel@oss.oracle.com.
diff --git a/Documentation/ABI/stable/o2cb b/Documentation/ABI/stable/o2cb
new file mode 100644 (file)
index 0000000..5eb1545
--- /dev/null
@@ -0,0 +1,10 @@
+What:          /sys/fs/o2cb/ (was /sys/o2cb)
+Date:          Dec 2005
+KernelVersion: 2.6.16
+Contact:       ocfs2-devel@oss.oracle.com
+Description:   Ocfs2-tools looks at 'interface-revision' for versioning
+               information. Each logmask/ file controls a set of debug prints
+               and can be written into with the strings "allow", "deny", or
+               "off". Reading the file returns the current state.
+Users:         ocfs2-tools. It's sufficient to mail proposed changes to
+               ocfs2-devel@oss.oracle.com.
index bf0e3df..4101f1f 100644 (file)
@@ -318,3 +318,13 @@ Why:       Not used in-tree. The current out-of-tree users used it to
        code / infrastructure should be in the kernel and not in some
        out-of-tree driver.
 Who:   Thomas Gleixner <tglx@linutronix.de>
+
+---------------------------
+
+What:  /sys/o2cb symlink
+When:  January 2010
+Why:   /sys/fs/o2cb is the proper location for this information - /sys/o2cb
+       exists as a symlink for backwards compatibility for old versions of
+       ocfs2-tools. 2 years should be sufficient time to phase in new versions
+       which know to look in /sys/fs/o2cb.
+Who:   ocfs2-devel@oss.oracle.com
index 0c095ce..98429fd 100644 (file)
@@ -57,6 +57,7 @@ static struct kset *o2cb_kset;
 void o2cb_sys_shutdown(void)
 {
        mlog_sys_shutdown();
+       sysfs_remove_link(NULL, "o2cb");
        kset_unregister(o2cb_kset);
 }
 
@@ -68,6 +69,14 @@ int o2cb_sys_init(void)
        if (!o2cb_kset)
                return -ENOMEM;
 
+       /*
+        * Create this symlink for backwards compatibility with old
+        * versions of ocfs2-tools which look for things in /sys/o2cb.
+        */
+       ret = sysfs_create_link(NULL, &o2cb_kset->kobj, "o2cb");
+       if (ret)
+               goto error;
+
        ret = sysfs_create_group(&o2cb_kset->kobj, &o2cb_attr_group);
        if (ret)
                goto error;