From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Carsten Otte" Subject: Re: [RFC][PATCH 9/14] Union-mount readdir Date: Mon, 14 May 2007 12:43:43 +0200 Message-ID: <5c77e7070705140343q51208efdk2746b4d80db353ba@mail.gmail.com> References: <20070514093722.GB4139@in.ibm.com> <20070514094249.GK4139@in.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, "Jan Blunck" To: bharata@linux.vnet.ibm.com Return-path: Received: from py-out-1112.google.com ([64.233.166.179]:2078 "EHLO py-out-1112.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755683AbXENKno (ORCPT ); Mon, 14 May 2007 06:43:44 -0400 Received: by py-out-1112.google.com with SMTP id a29so1455037pyi for ; Mon, 14 May 2007 03:43:43 -0700 (PDT) In-Reply-To: <20070514094249.GK4139@in.ibm.com> Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On 5/14/07, Bharata B Rao wrote: > +/* This is a copy from fs/readdir.c */ > +struct getdents_callback { > + struct linux_dirent __user *current_dir; > + struct linux_dirent __user *previous; > + int count; > + int error; > +}; This should go into a header file. > +static int union_cache_find_entry(struct list_head *uc_list, > + const char *name, int namelen) > +{ > + struct union_cache_entry *p; > + int ret = 0; > + > + list_for_each_entry(p, uc_list, list) { > + if (p->name.len != namelen) > + continue; > + if (strncmp(p->name.name, name, namelen) == 0) { > + ret = 1; > + break; > + } > + } > + return ret; > +} Why not use strlen instead of having both string and length as parameter? > +static struct file * __dentry_open_read(struct dentry *dentry, > + struct vfsmount *mnt, int flags) > +{ > + struct file *f; > + struct inode *inode; > + int error; > + > + error = -ENFILE; > + f = get_empty_filp(); > + if (!f) > + goto out; This is the only case where error is not explicitly set to a different value before hitting out/cleanup => consider setting conditionally. so long, Carsten