Messages in this thread Patch in this message | | | Date | Thu, 17 Jul 1997 19:36:58 -0500 (CDT) | From | Jay Schulist <> | Subject | [PATCH] smbfs and ncpfs dentry - Untested (fwd) |
| |
Hello, This patch is for linux/fs/smbfs and linux/fs/ncpfs. It fixes the old inode stuff to the new dentry stuff.
Thanks.
\|/ 0(o o)0 ----oOO--(_)--OOo----- Jay Schulist Jay.Schulist@spacs.k12.wi.us SPACS Network Developer
UNIX is user friendly. It's just selective about who its friends are.
-------------- CUT ----- CUT -----------------
diff -ruN /kernel/kernels/virgin/linux/fs/ncpfs/file.c /usr/src/linux-2.1.45/fs/ncpfs/file.c --- /kernel/kernels/virgin/linux/fs/ncpfs/file.c Mon Jun 16 18:35:58 1997 +++ /usr/src/linux-2.1.45/fs/ncpfs/file.c Thu Jul 17 14:55:46 1997 @@ -130,7 +130,7 @@ if (!IS_RDONLY(inode)) { inode->i_atime = CURRENT_TIME; } - inode->i_dirt = 1; + mark_inode_dirty(inode); DPRINTK("ncp_file_read: exit %s\n", NCP_ISTRUCT(inode)->entryName); @@ -192,7 +192,7 @@ } inode->i_mtime = inode->i_ctime = CURRENT_TIME; - inode->i_dirt = 1; + mark_inode_dirty(inode); file->f_pos = pos; diff -ruN /kernel/kernels/virgin/linux/fs/ncpfs/inode.c /usr/src/linux-2.1.45/fs/ncpfs/inode.c --- /kernel/kernels/virgin/linux/fs/ncpfs/inode.c Thu Jun 26 14:33:39 1997 +++ /usr/src/linux-2.1.45/fs/ncpfs/inode.c Thu Jul 17 15:09:37 1997 @@ -165,7 +165,7 @@ } if ((data->ncp_fd >= NR_OPEN) || ((ncp_filp = current->files->fd[data->ncp_fd]) == NULL) - || (!S_ISSOCK(ncp_filp->f_inode->i_mode))) { + || (!S_ISSOCK(ncp_filp->f_dentry->d_inode->i_mode))) { printk("ncp_read_super: invalid ncp socket\n"); sb->s_dev = 0; return NULL; @@ -234,8 +234,9 @@ ncp_init_root(server); - if (!(sb->s_mounted = iget(sb, ncp_info_ino(server, - &(server->root))))) { + sb->s_root = d_alloc_root(iget(sb, ncp_info_ino(server, + &(server->root))), NULL); + if (!sb->s_root) { sb->s_dev = 0; printk("ncp_read_super: get root inode failed\n"); goto disconnect; diff -ruN /kernel/kernels/virgin/linux/fs/ncpfs/mmap.c /usr/src/linux-2.1.45/fs/ncpfs/mmap.c --- /kernel/kernels/virgin/linux/fs/ncpfs/mmap.c Wed Jul 16 21:22:51 1997 +++ /usr/src/linux-2.1.45/fs/ncpfs/mmap.c Thu Jul 17 15:14:52 1997 @@ -32,7 +32,7 @@ static unsigned long ncp_file_mmap_nopage(struct vm_area_struct *area, unsigned long address, int no_share) { - struct inode *inode = area->vm_inode; + struct inode *inode = area->vm_dentry->d_inode; unsigned long page; unsigned int clear; unsigned long tmp; @@ -130,7 +130,7 @@ return -EACCES; if (!IS_RDONLY(inode)) { inode->i_atime = CURRENT_TIME; - inode->i_dirt = 1; + mark_inode_dirty(inode); } vma->vm_dentry = dget(file->f_dentry); diff -ruN /kernel/kernels/virgin/linux/fs/ncpfs/sock.c /usr/src/linux-2.1.45/fs/ncpfs/sock.c --- /kernel/kernels/virgin/linux/fs/ncpfs/sock.c Fri Apr 4 10:52:24 1997 +++ /usr/src/linux-2.1.45/fs/ncpfs/sock.c Thu Jul 17 15:16:25 1997 @@ -102,7 +102,7 @@ struct ncp_reply_header reply; file = server->ncp_filp; - inode = file->f_inode; + inode = file->f_dentry->d_inode; sock = &inode->u.socket_i; if (!sock) { printk("ncp_rpc_call: socki_lookup failed\n"); diff -ruN /kernel/kernels/virgin/linux/fs/smbfs/file.c /usr/src/linux-2.1.45/fs/smbfs/file.c --- /kernel/kernels/virgin/linux/fs/smbfs/file.c Mon Jun 16 18:35:59 1997 +++ /usr/src/linux-2.1.45/fs/smbfs/file.c Thu Jul 17 14:47:14 1997 @@ -126,7 +126,7 @@ if (!IS_RDONLY(inode)) inode->i_atime = CURRENT_TIME; - inode->i_dirt = 1; + mark_inode_dirty(inode); DPRINTK("smb_file_read: exit %s\n", SMB_FINFO(inode)->name); @@ -196,7 +196,7 @@ } inode->i_mtime = inode->i_ctime = CURRENT_TIME; - inode->i_dirt = 1; + mark_inode_dirty(inode); file->f_pos = pos; diff -ruN /kernel/kernels/virgin/linux/fs/smbfs/inode.c /usr/src/linux-2.1.45/fs/smbfs/inode.c --- /kernel/kernels/virgin/linux/fs/smbfs/inode.c Thu Jun 26 14:33:39 1997 +++ /usr/src/linux-2.1.45/fs/smbfs/inode.c Thu Jul 17 15:01:18 1997 @@ -228,7 +228,7 @@ sb->s_dev = 0; return NULL; } - if (!S_ISSOCK(filp->f_inode->i_mode)) + if (!S_ISSOCK(filp->f_dentry->d_inode->i_mode)) { printk("smb_read_super: not a socket!\n"); sb->s_dev = 0; @@ -305,8 +305,8 @@ } smb_init_root_dirent(server, &(server->root.finfo)); - if (!(sb->s_mounted = iget(sb, smb_info_ino(&(server->root))))) - { + sb->s_root = d_alloc_root(iget(sb, smb_info_ino(&(server->root))), NULL); + if (!sb->s_root) { sb->s_dev = 0; printk("smb_read_super: get root inode failed\n"); goto fail; diff -ruN /kernel/kernels/virgin/linux/fs/smbfs/mmap.c /usr/src/linux-2.1.45/fs/smbfs/mmap.c --- /kernel/kernels/virgin/linux/fs/smbfs/mmap.c Wed Jul 16 21:22:51 1997 +++ /usr/src/linux-2.1.45/fs/smbfs/mmap.c Thu Jul 17 15:15:18 1997 @@ -27,7 +27,7 @@ smb_file_mmap_nopage(struct vm_area_struct *area, unsigned long address, int no_share) { - struct inode *inode = area->vm_inode; + struct inode *inode = area->vm_dentry->d_inode; unsigned long page; unsigned int clear; unsigned long tmp; @@ -117,7 +117,7 @@ if (!IS_RDONLY(inode)) { inode->i_atime = CURRENT_TIME; - inode->i_dirt = 1; + mark_inode_dirty(inode); } vma->vm_dentry = dget(file->f_dentry); diff -ruN /kernel/kernels/virgin/linux/fs/smbfs/sock.c /usr/src/linux-2.1.45/fs/smbfs/sock.c --- /kernel/kernels/virgin/linux/fs/smbfs/sock.c Mon Apr 7 13:35:31 1997 +++ /usr/src/linux-2.1.45/fs/smbfs/sock.c Thu Jul 17 14:31:18 1997 @@ -128,7 +128,7 @@ if ((server == NULL) || ((file = server->sock_file) == NULL) - || ((inode = file->f_inode) == NULL) + || ((inode = file->f_dentry->d_inode) == NULL) || (!S_ISSOCK(inode->i_mode))) { printk("smb_catch_keepalive: did not get valid server!\n"); @@ -175,7 +175,7 @@ if ((server == NULL) || ((file = server->sock_file) == NULL) - || ((inode = file->f_inode) == NULL) + || ((inode = file->f_dentry->d_inode) == NULL) || (!S_ISSOCK(inode->i_mode))) { printk("smb_dont_catch_keepalive: " @@ -322,7 +322,7 @@ return NULL; if ((file = server->sock_file) == NULL) return NULL; - if ((inode = file->f_inode) == NULL) + if ((inode = file->f_dentry->d_inode) == NULL) return NULL; return &(inode->u.socket_i); }
| |