On Mon, Nov 30, 2009 at 02:51:05AM -0500, Erez Zadok wrote: > In message <1256152779-10054-17-git-send-email-vaurora@xxxxxxxxxx>, Valerie Aurora writes: > > From: Felix Fietkau <nbd@xxxxxxxxxxx> > > > > Add support for whiteout dentries to jffs2. > > > > Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> > > Signed-off-by: Valerie Aurora <vaurora@xxxxxxxxxx> > > Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> > > Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx > > --- > > fs/jffs2/dir.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++- > > fs/jffs2/fs.c | 4 ++ > > fs/jffs2/super.c | 2 +- > > include/linux/jffs2.h | 2 + > > 4 files changed, 82 insertions(+), 3 deletions(-) > > > > diff --git a/fs/jffs2/dir.c b/fs/jffs2/dir.c > > index 6f60cc9..46a2e1b 100644 > > --- a/fs/jffs2/dir.c > > +++ b/fs/jffs2/dir.c > > @@ -34,6 +34,8 @@ static int jffs2_mknod (struct inode *,struct dentry *,int,dev_t); > > static int jffs2_rename (struct inode *, struct dentry *, > > struct inode *, struct dentry *); > > > > +static int jffs2_whiteout (struct inode *, struct dentry *, struct dentry *); > > + > > const struct file_operations jffs2_dir_operations = > > { > > .read = generic_read_dir, > > @@ -55,6 +57,7 @@ const struct inode_operations jffs2_dir_inode_operations = > > .rmdir = jffs2_rmdir, > > .mknod = jffs2_mknod, > > .rename = jffs2_rename, > > + .whiteout = jffs2_whiteout, > > .permission = jffs2_permission, > > .setattr = jffs2_setattr, > > .setxattr = jffs2_setxattr, > > @@ -98,8 +101,18 @@ static struct dentry *jffs2_lookup(struct inode *dir_i, struct dentry *target, > > fd = fd_list; > > } > > } > > - if (fd) > > - ino = fd->ino; > > + if (fd) { > > + spin_lock(&target->d_lock); > > + switch(fd->type) { > > + case DT_WHT: > > + target->d_flags |= DCACHE_WHITEOUT; > > + break; > > + default: > > + ino = fd->ino; > > + break; > > + } > > + spin_unlock(&target->d_lock); > > + } > > The switch statement above should be simplified into this: > > if (fd->type == DT_WHT) > target->d_flags |= DCACHE_WHITEOUT; > else > ino = fd->ino; This is because later we add a third case for fallthrus, at which point a switch statement is easier to read. But it is confusing and distracting by itself in this patch, so I changed it as you suggested. > > + /* If it's a directory, then check whether it is really empty > > + */ > > Format above comment on one line. Fixxed, thanks. -VAL -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html