[Balls-cvs-act] CVS: linux/fs Config.in,1.10,1.11 dcache.c,1.12,1.13 namei.c,1.11,1.12 open.c,1.12,1
Status: Pre-Alpha
Brought to you by:
quinnharris
|
From: Quinn H. <qui...@us...> - 2001-10-20 06:13:52
|
Update of /cvsroot/balls/linux/fs
In directory usw-pr-cvs1:/tmp/cvs-serv10420/linux/fs
Modified Files:
Config.in dcache.c namei.c open.c
Removed Files:
super.c
Log Message:
Index: Config.in
===================================================================
RCS file: /cvsroot/balls/linux/fs/Config.in,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** Config.in 2001/10/20 05:11:47 1.10
--- Config.in 2001/10/20 06:13:50 1.11
***************
*** 12,15 ****
--- 12,17 ----
dep_mbool ' Have reiserfs do extra internal checking' CONFIG_REISERFS_CHECK $CONFIG_REISERFS_FS $CONFIG_EXPERIMENTAL
+ bool 'Balls FS' CONFIG_BALLS_FS $CONFIG_EXPERIMENTAL
+
dep_tristate 'ADFS file system support' CONFIG_ADFS_FS $CONFIG_EXPERIMENTAL
dep_mbool ' ADFS write support (DANGEROUS)' CONFIG_ADFS_FS_RW $CONFIG_ADFS_FS $CONFIG_EXPERIMENTAL
Index: dcache.c
===================================================================
RCS file: /cvsroot/balls/linux/fs/dcache.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** dcache.c 2001/10/20 05:11:47 1.12
--- dcache.c 2001/10/20 06:13:50 1.13
***************
*** 855,865 ****
--- 855,870 ----
* then no longer matches the actual (corrupted) string of the target.
* The hash value has to match the hash queue that the dentry is on..
+ *
+ * Changed to perserve old dentry name for BALLS FS.
*/
static inline void switch_names(struct dentry * dentry, struct dentry * target)
{
+ unsigned char buffer[DNAME_INLINE_LEN];
const unsigned char *old_name, *new_name;
check_lock();
+ memcpy(buffer, dentry->d_iname, DNAME_INLINE_LEN); /* Preserve old name */
memcpy(dentry->d_iname, target->d_iname, DNAME_INLINE_LEN);
+ memcpy(target->d_iname, buffer, DNAME_INLINE_LEN); /* Preserve old name */
old_name = target->d_name.name;
new_name = dentry->d_name.name;
Index: namei.c
===================================================================
RCS file: /cvsroot/balls/linux/fs/namei.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** namei.c 2001/10/20 05:11:47 1.11
--- namei.c 2001/10/20 06:13:50 1.12
***************
*** 15,18 ****
--- 15,19 ----
*/
+ #include <linux/config.h> /* For Balls FS */
#include <linux/init.h>
#include <linux/slab.h>
***************
*** 24,27 ****
--- 25,32 ----
#include <linux/personality.h>
+ #ifdef CONFIG_BALLS_FS
+ #include <linux/balls.h>
+ #endif
+
#include <asm/namei.h>
#include <asm/uaccess.h>
***************
*** 947,952 ****
exit_lock:
up(&dir->i_zombie);
! if (!error)
inode_dir_notify(dir, DN_CREATE);
return error;
}
--- 952,961 ----
exit_lock:
up(&dir->i_zombie);
! if (!error) {
inode_dir_notify(dir, DN_CREATE);
+ #ifdef CONFIG_BALLS_FS
+ balls_vfs_create(dir, dentry);
+ #endif
+ }
return error;
}
***************
*** 1128,1131 ****
--- 1137,1144 ----
if (error)
goto exit;
+
+ #ifdef CONFIG_BALLS_FS
+ balls_open_namei_trunc(dir, dentry);
+ #endif
} else
if (flag & FMODE_WRITE)
***************
*** 1226,1231 ****
exit_lock:
up(&dir->i_zombie);
! if (!error)
inode_dir_notify(dir, DN_CREATE);
return error;
}
--- 1239,1248 ----
exit_lock:
up(&dir->i_zombie);
! if (!error) {
inode_dir_notify(dir, DN_CREATE);
+ #ifdef CONFIG_BALLS_FS
+ balls_notify(dir, dentry, VFS_MKNOD);
+ #endif
+ }
return error;
}
***************
*** 1297,1302 ****
exit_lock:
up(&dir->i_zombie);
! if (!error)
inode_dir_notify(dir, DN_CREATE);
return error;
}
--- 1314,1323 ----
exit_lock:
up(&dir->i_zombie);
! if (!error) {
inode_dir_notify(dir, DN_CREATE);
+ #ifdef CONFIG_BALLS_FS
+ balls_notify(dir, dentry, VFS_MKDIR);
+ #endif
+ }
return error;
}
***************
*** 1390,1393 ****
--- 1411,1417 ----
if (!error) {
inode_dir_notify(dir, DN_DELETE);
+ #ifdef CONFIG_BALLS_FS
+ balls_notify(dir, dentry, VFS_RMDIR);
+ #endif
d_delete(dentry);
}
***************
*** 1461,1466 ****
}
up(&dir->i_zombie);
! if (!error)
inode_dir_notify(dir, DN_DELETE);
return error;
}
--- 1485,1494 ----
}
up(&dir->i_zombie);
! if (!error) {
inode_dir_notify(dir, DN_DELETE);
+ #ifdef CONFIG_BALLS_FS
+ balls_notify(dir, dentry, VFS_UNLINK);
+ #endif
+ }
return error;
}
***************
*** 1529,1534 ****
exit_lock:
up(&dir->i_zombie);
! if (!error)
inode_dir_notify(dir, DN_CREATE);
return error;
}
--- 1557,1566 ----
exit_lock:
up(&dir->i_zombie);
! if (!error) {
inode_dir_notify(dir, DN_CREATE);
+ #ifdef CONFIG_BALLS_FS
+ balls_notify(dir, dentry, VFS_SYMLINK);
+ #endif
+ }
return error;
}
***************
*** 1603,1608 ****
exit_lock:
up(&dir->i_zombie);
! if (!error)
inode_dir_notify(dir, DN_CREATE);
return error;
}
--- 1635,1644 ----
exit_lock:
up(&dir->i_zombie);
! if (!error) {
inode_dir_notify(dir, DN_CREATE);
+ #ifdef CONFIG_BALLS_FS
+ balls_notify(dir, new_dentry, old_dentry, VFS_LINK);
+ #endif
+ }
return error;
}
***************
*** 1827,1830 ****
--- 1863,1869 ----
inode_dir_notify(new_dir, DN_CREATE);
}
+ #ifdef CONFIG_BALLS_FS
+ balls_notify(new_dir, new_dentry, old_dentry, VFS_RENAME);
+ #endif
}
return error;
Index: open.c
===================================================================
RCS file: /cvsroot/balls/linux/fs/open.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** open.c 2001/10/20 05:11:47 1.12
--- open.c 2001/10/20 06:13:50 1.13
***************
*** 5,8 ****
--- 5,9 ----
*/
+ #include <linux/config.h> /* For Balls FS */
#include <linux/string.h>
#include <linux/mm.h>
***************
*** 17,20 ****
--- 18,25 ----
#include <linux/iobuf.h>
+ #ifdef CONFIG_BALLS_FS
+ #include <linux/balls.h>
+ #endif
+
#include <asm/uaccess.h>
***************
*** 819,822 ****
--- 824,832 ----
fcntl_dirnotify(0, filp, 0);
locks_remove_posix(filp, id);
+
+ #ifdef CONFIG_BALLS_FS
+ balls_filp_close(filp);
+ #endif
+
fput(filp);
return retval;
--- super.c DELETED ---
|