Patch: move struct sysfs_dirent to private header

2007-02-16 Thread Adam J. Richter
Hi Greg,

This is a resubmission of a patch that fell through the
cracks long ago.  I've posted it a couple of times, and don't recall
anyone objecting to it.

struct sysfs_dirent is private to the fs/sysfs/ subtree.  It is
not even referenced as an opaque structure outside of that subtree.

The following patch moves the declaration from
include/linux/sysfs.h to fs/sysfs/sysfs.h, making it clearer
that nothing else in the kernel dereferences it.

I have been running this patch for years.  Please integrate
and forward upstream if there are no objections.

Note that while this patch was generated by stgit, it
was not generated from a tree pulled from kernel.org, so perhaps
a git command that thinks that this patch was generated from a
common ancestor might get confused (I'm not sure).  You may want
to integrate it by running patch and checking in the change.

The patch is against 2.6.20-git11.

Adam Richter
Move struct sysfs_dirent from incude/linux/sysfs.h to fs/sysfs/sysfs.h

From:  <>


---

 src/fs/sysfs/sysfs.h  |   11 +++
 src/include/linux/sysfs.h |   12 
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/src/fs/sysfs/sysfs.h b/src/fs/sysfs/sysfs.h
index d976b00..a77c57e 100644
--- a/src/fs/sysfs/sysfs.h
+++ b/src/fs/sysfs/sysfs.h
@@ -1,3 +1,14 @@
+struct sysfs_dirent {
+   atomic_ts_count;
+   struct list_heads_sibling;
+   struct list_heads_children;
+   void* s_element;
+   int s_type;
+   umode_t s_mode;
+   struct dentry   * s_dentry;
+   struct iattr* s_iattr;
+   atomic_ts_event;
+};
 
 extern struct vfsmount * sysfs_mount;
 extern struct kmem_cache *sysfs_dir_cachep;
diff --git a/src/include/linux/sysfs.h b/src/include/linux/sysfs.h
index 192de3a..567cdca 100644
--- a/src/include/linux/sysfs.h
+++ b/src/include/linux/sysfs.h
@@ -68,18 +68,6 @@ struct sysfs_ops {
ssize_t (*store)(struct kobject *,struct attribute *,const char *, 
size_t);
 };
 
-struct sysfs_dirent {
-   atomic_ts_count;
-   struct list_heads_sibling;
-   struct list_heads_children;
-   void* s_element;
-   int s_type;
-   umode_t s_mode;
-   struct dentry   * s_dentry;
-   struct iattr* s_iattr;
-   atomic_ts_event;
-};
-
 #define SYSFS_ROOT 0x0001
 #define SYSFS_DIR  0x0002
 #define SYSFS_KOBJ_ATTR0x0004


Patch: move struct sysfs_dirent to private header

2007-02-16 Thread Adam J. Richter
Hi Greg,

This is a resubmission of a patch that fell through the
cracks long ago.  I've posted it a couple of times, and don't recall
anyone objecting to it.

struct sysfs_dirent is private to the fs/sysfs/ subtree.  It is
not even referenced as an opaque structure outside of that subtree.

The following patch moves the declaration from
include/linux/sysfs.h to fs/sysfs/sysfs.h, making it clearer
that nothing else in the kernel dereferences it.

I have been running this patch for years.  Please integrate
and forward upstream if there are no objections.

Note that while this patch was generated by stgit, it
was not generated from a tree pulled from kernel.org, so perhaps
a git command that thinks that this patch was generated from a
common ancestor might get confused (I'm not sure).  You may want
to integrate it by running patch and checking in the change.

The patch is against 2.6.20-git11.

Adam Richter
Move struct sysfs_dirent from incude/linux/sysfs.h to fs/sysfs/sysfs.h

From:  


---

 src/fs/sysfs/sysfs.h  |   11 +++
 src/include/linux/sysfs.h |   12 
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/src/fs/sysfs/sysfs.h b/src/fs/sysfs/sysfs.h
index d976b00..a77c57e 100644
--- a/src/fs/sysfs/sysfs.h
+++ b/src/fs/sysfs/sysfs.h
@@ -1,3 +1,14 @@
+struct sysfs_dirent {
+   atomic_ts_count;
+   struct list_heads_sibling;
+   struct list_heads_children;
+   void* s_element;
+   int s_type;
+   umode_t s_mode;
+   struct dentry   * s_dentry;
+   struct iattr* s_iattr;
+   atomic_ts_event;
+};
 
 extern struct vfsmount * sysfs_mount;
 extern struct kmem_cache *sysfs_dir_cachep;
diff --git a/src/include/linux/sysfs.h b/src/include/linux/sysfs.h
index 192de3a..567cdca 100644
--- a/src/include/linux/sysfs.h
+++ b/src/include/linux/sysfs.h
@@ -68,18 +68,6 @@ struct sysfs_ops {
ssize_t (*store)(struct kobject *,struct attribute *,const char *, 
size_t);
 };
 
-struct sysfs_dirent {
-   atomic_ts_count;
-   struct list_heads_sibling;
-   struct list_heads_children;
-   void* s_element;
-   int s_type;
-   umode_t s_mode;
-   struct dentry   * s_dentry;
-   struct iattr* s_iattr;
-   atomic_ts_event;
-};
-
 #define SYSFS_ROOT 0x0001
 #define SYSFS_DIR  0x0002
 #define SYSFS_KOBJ_ATTR0x0004