OK... I see now... ce23e64 (Al's patch) got merged to mainline after 2dcd0af (Linux 4.6) and Andreas' Orangefs patches won't load without ce23e64. I was working from vanilla Linux 4.6. My little O_DIRECT patch is also affected, since .direct_IO lost the offset argument. So... now the top of my local tree is ea8ea73, Andreas' patch series loads fine, I've fixed my O_DIRECT patch, it loads, and the whole thing compiles and installs great. But won't boot. On my VM. Even when built without Andreas' patch series and my O_DIRECT patch it won't boot. So now I've got it booted with the vanilla 4.6 kernel. I guess this is a "tree of the moment" problem. I guess Linus' tree will continue to evolve and I'll come in tomorrow and fetch from it again and it will boot. And then I can load and test the patches, update the Orangefs linux-next and build the pull request before the merge window ends. Maybe after six or eight more merge windows I'll get the hang of being upstream and quit causing trouble <g>... -Mike On Thu, May 26, 2016 at 4:05 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > On Thu, May 26, 2016 at 03:44:23PM -0400, Mike Marshall wrote: >> Hi Andreas... >> >> I've looked over your patch series, and was about >> to apply it and run some tests... but the first patch >> "orangefs: Remove useless defines" won't apply. >> >> I received your patch series a day or so after I merged >> our kernel.org tree up to 4.6, and at first I thought maybe >> you'd composed your patch during the long spell when >> the last commit in our tree was e56f49814250f4ca4b66ec7d3a71152846761d1b, >> resulting in some kind of conflict, but that's not it. Now >> that we're upstream, you're probably patching against >> the "real" Linux tree anyhow... >> >> Here's where the fail happens: >> >> @@ -470,7 +470,7 @@ static int orangefs_xattr_get_default(const struct >> xattr_handler *handler, >> size_t size) >> { >> return orangefs_inode_getxattr(inode, >> - ORANGEFS_XATTR_NAME_DEFAULT_PREFIX, >> + "", >> name, >> buffer, >> size); >> >> "return orangefs_inode_getxattr(inode," should be >> "return orangefs_inode_getxattr(dentry->d_inode," >> >> I looked way back in time, and don't think it ever >> was "inode" instead of "dentry->d_inode", or how >> it could ever be. > > Mainline has ->getxattr() called with dentry and inode passed separately; > moreover, dentry is *NOT* guaranteed to be already associated with the > inode. See commit ce23e64 and, subsequently, b96809. -- 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