head	1.3;
access;
symbols
	before_applying_linux_coding_style:1.2
	copied-to-replicfs-branch-on-march-17-2004:1.2
	PRE_SNAPSHOT:1.1
	SUBMITTED_TO_USENIX_2004:1.1
	SUBMITTED_TO_FAST_2004:1.1;
locks; strict;
comment	@# @;


1.3
date	2004.08.13.16.12.13;	author cwright;	state dead;
branches;
next	1.2;

1.2
date	2004.03.15.03.54.17;	author cwright;	state Exp;
branches;
next	1.1;

1.1
date	2003.05.27.23.15.29;	author puja;	state Exp;
branches;
next	;


desc
@@


1.3
log
@Bugzilla.
@
text
@We need to fix lookups of whiteout files to return negative dentries, but
then refuse to create them later on.  Or some other like-minded solution.
@


1.2
log
@* inode.c (unionfs_lookup): Read through and simplified lookup by
removing duplicated code or nasty if/else statements when if
continue would work(to the tune of 20%).  Clarified comments as
well.  Now instead of being a 248 line monster it is a 199 line
monster.
* UNIONFS-TODO: We still need to solve whiteouts (i.e., you can
sucessfully stat a whiteout in Unionfs).  Note this is not
introduced by my changes.
@
text
@@


1.1
log
@added: files from cse506 project (spring 2003)
@
text
@d1 2
a2 78
# -*- text -*-

#vfs_statfs: done

#vfs_create: done
#vfs_mknod: done
#vfs_mkdir: done

vfs_rmdir: broken, needs to be done from d_iput
vfs_unlink: ditto
#vfs_rename: done
#vfs_link: done
#vfs_symlink: done
#vfs_readlink: done
	see if we can use page_readlink and page_follow_link, which should
	improve performance. -should be doable, but not for SCA
#vfs_readdir: done
generic_file_mmap: should be possible, would allow us to get rid of
	everything in vm_area.c

#look at permission()

#check that setattr (truncate file, chmod) works -done

#write_inode: does chmod propagate to the lower f/s? -done

#check Mark Schaefer's 3 bugs. -done

#in commit_write, if we get an error, do setpageerror or clearpageuptodate or
#something. -done

##############################################################################
## OLD STUFF BELOW
##############################################################################
#replace our read w/ generic_file_read and see if that works instead. it
#would call our readpage which is implemented. -done

#break write into pages.  or better yet. use generic_writepage as our write
#fxn, and then implement updatepage, which will call the lower fxn's write
#fxn with the right args. -done

#then cryptfs and file names. -done

#fix leak in lower-fs refcounts. -done
#put copy_inode_modes everywhere!!! (esp. read/write) -done
#try truncate -done
fix d_compare
#check append -done

follow all XXX comments and EZK comments

* dentry questions

when does a new dentry ever get created/malloc'ed for the first time?
	answer: in lookup *only*

maybe we should "interpose" on a dentry only if its d_inode!=NULL (i.e., it
	is not a negative entry?) - no, it needs to be done regardless

whenever I do
	inode_t *old_inode = old_dentry->d_inode;
or the like, then assrt that old_inode is not null (see foofs_link)

* misc:

does struct qstr have full pathname or just one component.
	answer: one component only

unify main.c and super.c, and avoid fist_mod_dec_use_count()

tell linux-kernel to expose fs/namei.c: double_lock/unlock
     ditto for lock_parent
     and linux/fs/read_write.c: default_llseek()

linux/fs.h: namei macro should not use 1, but LOOKUP_FOLLOW

tell kernel hackers of pread/pwrite interface deficiencies.
##############################################################################
@

