Update of /cvsroot/ssic-linux/openssi/kernel/fs/proc
In directory sc8-pr-cvs1:/tmp/cvs-serv514/kernel/fs/proc
Modified Files:
base.c
Log Message:
Sync with RH branch
Index: base.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/fs/proc/base.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** base.c 5 Jun 2003 22:39:50 -0000 1.2
--- base.c 27 Jun 2003 21:56:09 -0000 1.3
***************
*** 27,30 ****
--- 27,32 ----
#include <linux/vproc.h>
#include <linux/dpvproc.h>
+ #include <cluster/ssi/cfs/cfs_clnt.h>
+ #include <cluster/ssi/cfs/cfs_fs_sb.h>
#endif
***************
*** 565,571 ****
--- 567,614 ----
len = tmp + PAGE_SIZE - 1 - path;
+ #ifdef CONFIG_SSI
+ if (len > buflen)
+ len = buflen;
+ copy_to_user(buffer, path, len);
+ /* Turn "/dev/" into "/dev/<node>/" */
+ if (cfs_inode_is_cfs(inode) && (inode->i_sb->s_flags & MS_DEVFS)) {
+ char *devp;
+ int nlen;
+ clusternode_t node;
+ struct nameidata tnd;
+ int error;
+
+ devp = strstr(path, "/dev/");
+ if (devp != NULL) {
+ devp += 4;
+ node = itocmi(inode)->mi_server;
+ nlen = snprintf(tmp, 0, "/dev/%ld", node);
+ if (devp - tmp >= nlen) {
+ path = devp - nlen;
+ (void)snprintf(path, nlen + 1, "/dev/%ld",
+ node);
+ devp[0] = '/';
+ error = -ENOENT;
+ if (path_init (path,
+ LOOKUP_FOLLOW|LOOKUP_POSITIVE,
+ &tnd))
+ error = path_walk(path, &tnd);
+ if (error >= 0 &&
+ tnd.dentry->d_inode == inode) {
+ len = tmp + PAGE_SIZE - 1 - path;
+ if (len > buflen)
+ len = buflen;
+ copy_to_user(buffer, path, len);
+ }
+ }
+ }
+ }
+ buflen = len;
+ #else
if (len < buflen)
buflen = len;
copy_to_user(buffer, path, buflen);
+ #endif
+
free_page((unsigned long)tmp);
return buflen;
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
|