Quoting Jan Engelhardt (jengelh@xxxxxxxxxxxxxxx): > > On May 16 2007 10:38, Bharata B Rao wrote: > >> > >> >+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] > > > >Not sure, may be to get a scope to define 'mnt' here. Jan ? > > What I was implicitly suggesting that mnt could be moved into the > normal 'function scope'. > > > Jan This code can't stay anyway so it's kind of moot. find_mnt() is bogus, and the topmost and overlaid mappings need to be changed from dentry->dentry to (vfsmnt,dentry)->(vfsmnt,dentry) in order to cope with bind mounts and mount namespaces. -serge - 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