[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.61.0705150937590.9570@yvahk01.tjqt.qr>
Date: Tue, 15 May 2007 09:57:24 +0200 (MEST)
From: Jan Engelhardt <jengelh@...ux01.gwdg.de>
To: Bharata B Rao <bharata@...ux.vnet.ibm.com>
cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
Jan Blunck <j.blunck@...harburg.de>
Subject: Re: [RFC][PATCH 8/14] Union-mount lookup
On May 14 2007 15:12, Bharata B Rao wrote:
>
>+struct dentry * d_lookup_single(struct dentry *parent, struct qstr *name)
>+{
>+ struct dentry *dentry;
>+ unsigned long seq;
>+
>+ do {
>+ seq = read_seqbegin(&rename_lock);
>+ dentry = __d_lookup_single(parent, name);
>+ if (dentry)
>+ break;
>+ } while (read_seqretry(&rename_lock, seq));
>+ return dentry;
>+}
Replace with tabs.
>+lookup_union:
>+ do {
>+ struct vfsmount *mnt = find_mnt(topmost);
>+ UM_DEBUG_DCACHE("name=\"%s\", inode=%p, device=%s\n",
>+ topmost->d_name.name, topmost->d_inode,
>+ mnt->mnt_devname);
>+ mntput(mnt);
>+ } while (0);
Why the extra do{}while? [elsewhere too]
>+ if (topmost->d_union) {
>+ union_lock_spinlock(topmost, &topmost->d_lock);
>+ }
Extra {} could go [elsewhere too].
>+ if (last->d_overlaid
>+ && (last->d_overlaid != dentry)) {
As can these extra () [elsewhere too].
>+static inline struct dentry * __lookup_hash_single(struct qstr *name, struct dentry *base, struct nameidata *nd)
>+{
>+ struct dentry *dentry;
>+ struct inode *inode;
>+ int err;
>+
>+ inode = base->d_inode;
>+
>+ err = permission(inode, MAY_EXEC, nd);
>+ dentry = ERR_PTR(err);
>+ if (err)
>+ goto out;
>+
>+ dentry = __lookup_hash_kern_single(name, base, nd);
>+out:
>+ return dentry;
>+}
This looks a little big for being inline.
Jan
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists