tree a106b6e0bae52a68a0b824f1999ab694d894a1f2
parent 8907547d4b099e67762ea4891c127ea1f6dd1cb7
author Anton Altaparmakov <[EMAIL PROTECTED]> Thu, 03 Mar 2005 13:44:15 +0000
committer Anton Altaparmakov <[EMAIL PROTECTED]> Thu, 05 May 2005 11:13:56 +0100

NTFS: Make fs/ntfs/namei.c::ntfs_get_{parent,dentry} static and move the
      definition of ntfs_export_ops from fs/ntfs/super.c to namei.c.
      Also, declare ntfs_export_ops in fs/ntfs/ntfs.h.

Signed-off-by: Anton Altaparmakov <[EMAIL PROTECTED]>

 fs/ntfs/ChangeLog |    3 +++
 fs/ntfs/namei.c   |   31 +++++++++++++++++++++++++++++--
 fs/ntfs/ntfs.h    |    2 ++
 fs/ntfs/super.c   |   34 ----------------------------------
 4 files changed, 34 insertions(+), 36 deletions(-)

diff --git a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog
--- a/fs/ntfs/ChangeLog
+++ b/fs/ntfs/ChangeLog
@@ -81,6 +81,9 @@ ToDo/Notes:
          mft record for resident attributes (fs/ntfs/inode.c).
        - Small readability cleanup to use "a" instead of "ctx->attr"
          everywhere (fs/ntfs/inode.c).
+       - Make fs/ntfs/namei.c::ntfs_get_{parent,dentry} static and move the
+         definition of ntfs_export_ops from fs/ntfs/super.c to namei.c.  Also,
+         declare ntfs_export_ops in fs/ntfs/ntfs.h.
 
 2.1.22 - Many bug and race fixes and error handling improvements.
 
diff --git a/fs/ntfs/namei.c b/fs/ntfs/namei.c
--- a/fs/ntfs/namei.c
+++ b/fs/ntfs/namei.c
@@ -380,7 +380,7 @@ struct inode_operations ntfs_dir_inode_o
  * Return the dentry of the parent directory on success or the error code on
  * error (IS_ERR() is true).
  */
-struct dentry *ntfs_get_parent(struct dentry *child_dent)
+static struct dentry *ntfs_get_parent(struct dentry *child_dent)
 {
        struct inode *vi = child_dent->d_inode;
        ntfs_inode *ni = NTFS_I(vi);
@@ -465,7 +465,7 @@ try_next:
  *
  * Return the dentry on success or the error code on error (IS_ERR() is true).
  */
-struct dentry *ntfs_get_dentry(struct super_block *sb, void *fh)
+static struct dentry *ntfs_get_dentry(struct super_block *sb, void *fh)
 {
        struct inode *vi;
        struct dentry *dent;
@@ -496,3 +496,30 @@ struct dentry *ntfs_get_dentry(struct su
        ntfs_debug("Done for inode 0x%lx, generation 0x%x.", ino, gen);
        return dent;
 }
+
+/**
+ * Export operations allowing NFS exporting of mounted NTFS partitions.
+ *
+ * We use the default ->decode_fh() and ->encode_fh() for now.  Note that they
+ * use 32 bits to store the inode number which is an unsigned long so on 64-bit
+ * architectures is usually 64 bits so it would all fail horribly on huge
+ * volumes.  I guess we need to define our own encode and decode fh functions
+ * that store 64-bit inode numbers at some point but for now we will ignore the
+ * problem...
+ *
+ * We also use the default ->get_name() helper (used by ->decode_fh() via
+ * fs/exportfs/expfs.c::find_exported_dentry()) as that is completely fs
+ * independent.
+ *
+ * The default ->get_parent() just returns -EACCES so we have to provide our
+ * own and the default ->get_dentry() is incompatible with NTFS due to not
+ * allowing the inode number 0 which is used in NTFS for the system file $MFT
+ * and due to using iget() whereas NTFS needs ntfs_iget().
+ */
+struct export_operations ntfs_export_ops = {
+       .get_parent     = ntfs_get_parent,      /* Find the parent of a given
+                                                  directory. */
+       .get_dentry     = ntfs_get_dentry,      /* Find a dentry for the inode
+                                                  given a file handle
+                                                  sub-fragment. */
+};
diff --git a/fs/ntfs/ntfs.h b/fs/ntfs/ntfs.h
--- a/fs/ntfs/ntfs.h
+++ b/fs/ntfs/ntfs.h
@@ -65,6 +65,8 @@ extern struct inode_operations ntfs_dir_
 extern struct  file_operations ntfs_empty_file_ops;
 extern struct inode_operations ntfs_empty_inode_ops;
 
+extern struct export_operations ntfs_export_ops;
+
 /**
  * NTFS_SB - return the ntfs volume given a vfs super block
  * @sb:                VFS super block
diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c
--- a/fs/ntfs/super.c
+++ b/fs/ntfs/super.c
@@ -2250,40 +2250,6 @@ static struct super_operations ntfs_sops
                                                   proc. */
 };
 
-
-/**
- * Declarations for NTFS specific export operations (fs/ntfs/namei.c).
- */
-extern struct dentry *ntfs_get_parent(struct dentry *child_dent);
-extern struct dentry *ntfs_get_dentry(struct super_block *sb, void *fh);
-
-/**
- * Export operations allowing NFS exporting of mounted NTFS partitions.
- *
- * We use the default ->decode_fh() and ->encode_fh() for now.  Note that they
- * use 32 bits to store the inode number which is an unsigned long so on 64-bit
- * architectures is usually 64 bits so it would all fail horribly on huge
- * volumes.  I guess we need to define our own encode and decode fh functions
- * that store 64-bit inode numbers at some point but for now we will ignore the
- * problem...
- *
- * We also use the default ->get_name() helper (used by ->decode_fh() via
- * fs/exportfs/expfs.c::find_exported_dentry()) as that is completely fs
- * independent.
- *
- * The default ->get_parent() just returns -EACCES so we have to provide our
- * own and the default ->get_dentry() is incompatible with NTFS due to not
- * allowing the inode number 0 which is used in NTFS for the system file $MFT
- * and due to using iget() whereas NTFS needs ntfs_iget().
- */
-static struct export_operations ntfs_export_ops = {
-       .get_parent     = ntfs_get_parent,      /* Find the parent of a given
-                                                  directory. */
-       .get_dentry     = ntfs_get_dentry,      /* Find a dentry for the inode
-                                                  given a file handle
-                                                  sub-fragment. */
-};
-
 /**
  * ntfs_fill_super - mount an ntfs filesystem
  * @sb:                super block of ntfs filesystem to mount
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to