Re: [RFC][PATCH 6/14] Union-mount dentry reference counting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On May 14 2007 15:11, Bharata B Rao wrote:
>+void __union_check(struct dentry *dentry)
>+{
>+	if (likely(!(dentry->d_topmost || dentry->d_overlaid))) {

This could be simplified to

   if (likely(!dentry->d_topmost && !dentry->d_overlaid))

(I prefer x==NULL over !x for pointers, though)
And then again, do not assume everything is (un)likely [also elsewhere].

>+		if (unlikely(dentry->d_union)) {
>+			printk(KERN_ERR "%s: \"%s\" stale union reference\n" \
>+			       "\tdentry=%p, inode=%p, count=%d, u_count=%d\n",
>+			       __FUNCTION__,
>+			       dentry->d_name.name,
>+			       dentry,
>+			       dentry->d_inode,
>+			       atomic_read(&dentry->d_count),
>+			       atomic_read(&dentry->d_union->u_count));
>+			dump_stack();
>+		}
>+		return;
>+	}
>+
>--- a/net/unix/af_unix.c
>+++ b/net/unix/af_unix.c
>@@ -1082,8 +1082,11 @@ restart:
> 		newu->addr = otheru->addr;
> 	}
> 	if (otheru->dentry) {
>-		newu->dentry	= dget(otheru->dentry);
>+		/* Is this safe here? I don't know ... */

Figure it out :)


	Jan
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux