[PATCH 11/13] Make __d_path() to take a struct path argument

2007-10-22 Thread Bharata B Rao
From: Andreas Gruenbacher <[EMAIL PROTECTED]>

One less argument to __d_path.

All callers to __d_path pass the dentry and vfsmount of a struct
path to __d_path. Pass the struct path directly, instead.

Signed-off-by: Andreas Gruenbacher <[EMAIL PROTECTED]>
Signed-off-by: Bharata B Rao <[EMAIL PROTECTED]>
Acked-by: Christoph Hellwig <[EMAIL PROTECTED]>
---
 fs/dcache.c |   10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1779,8 +1779,7 @@ shouldnt_be_hashed:
  * "buflen" should be positive. Caller holds the dcache_lock.
  */
 static char * __d_path( struct dentry *dentry, struct vfsmount *vfsmnt,
-   struct dentry *root, struct vfsmount *rootmnt,
-   char *buffer, int buflen)
+   struct path *root, char *buffer, int buflen)
 {
char * end = buffer+buflen;
char * retval;
@@ -1805,7 +1804,7 @@ static char * __d_path( struct dentry *d
for (;;) {
struct dentry * parent;
 
-   if (dentry == root && vfsmnt == rootmnt)
+   if (dentry == root->dentry && vfsmnt == root->mnt)
break;
if (dentry == vfsmnt->mnt_root || IS_ROOT(dentry)) {
/* Global root? */
@@ -1868,7 +1867,7 @@ char * d_path(struct dentry *dentry, str
path_get(>fs->root);
read_unlock(>fs->lock);
spin_lock(_lock);
-   res = __d_path(dentry, vfsmnt, root.dentry, root.mnt, buf, buflen);
+   res = __d_path(dentry, vfsmnt, , buf, buflen);
spin_unlock(_lock);
path_put();
return res;
@@ -1936,8 +1935,7 @@ asmlinkage long sys_getcwd(char __user *
unsigned long len;
char * cwd;
 
-   cwd = __d_path(pwd.dentry, pwd.mnt, root.dentry, root.mnt,
-  page, PAGE_SIZE);
+   cwd = __d_path(pwd.dentry, pwd.mnt, , page, PAGE_SIZE);
spin_unlock(_lock);
 
error = PTR_ERR(cwd);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 11/13] Make __d_path() to take a struct path argument

2007-10-22 Thread Bharata B Rao
From: Andreas Gruenbacher [EMAIL PROTECTED]

One less argument to __d_path.

All callers to __d_path pass the dentry and vfsmount of a struct
path to __d_path. Pass the struct path directly, instead.

Signed-off-by: Andreas Gruenbacher [EMAIL PROTECTED]
Signed-off-by: Bharata B Rao [EMAIL PROTECTED]
Acked-by: Christoph Hellwig [EMAIL PROTECTED]
---
 fs/dcache.c |   10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1779,8 +1779,7 @@ shouldnt_be_hashed:
  * buflen should be positive. Caller holds the dcache_lock.
  */
 static char * __d_path( struct dentry *dentry, struct vfsmount *vfsmnt,
-   struct dentry *root, struct vfsmount *rootmnt,
-   char *buffer, int buflen)
+   struct path *root, char *buffer, int buflen)
 {
char * end = buffer+buflen;
char * retval;
@@ -1805,7 +1804,7 @@ static char * __d_path( struct dentry *d
for (;;) {
struct dentry * parent;
 
-   if (dentry == root  vfsmnt == rootmnt)
+   if (dentry == root-dentry  vfsmnt == root-mnt)
break;
if (dentry == vfsmnt-mnt_root || IS_ROOT(dentry)) {
/* Global root? */
@@ -1868,7 +1867,7 @@ char * d_path(struct dentry *dentry, str
path_get(current-fs-root);
read_unlock(current-fs-lock);
spin_lock(dcache_lock);
-   res = __d_path(dentry, vfsmnt, root.dentry, root.mnt, buf, buflen);
+   res = __d_path(dentry, vfsmnt, root, buf, buflen);
spin_unlock(dcache_lock);
path_put(root);
return res;
@@ -1936,8 +1935,7 @@ asmlinkage long sys_getcwd(char __user *
unsigned long len;
char * cwd;
 
-   cwd = __d_path(pwd.dentry, pwd.mnt, root.dentry, root.mnt,
-  page, PAGE_SIZE);
+   cwd = __d_path(pwd.dentry, pwd.mnt, root, page, PAGE_SIZE);
spin_unlock(dcache_lock);
 
error = PTR_ERR(cwd);
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/