+ dentry = filter_fid2dentry(obd, NULL, res->lr_name.name[1],
+ res->lr_name.name[0]);
+ if (IS_ERR(dentry))
+ RETURN(PTR_ERR(dentry));
+
+ if (dentry->d_inode)
+ tmpinode = igrab(dentry->d_inode);
+ f_dput(dentry);
+ /* tmpinode could be NULL, but it does not matter if other
+ * have set res->lr_lvb_inode */
+ lock_res(res);
+ if (res->lr_lvb_inode == NULL) {
+ res->lr_lvb_inode = tmpinode;
+ tmpinode = NULL;
+ }
+ inode = res->lr_lvb_inode;
+ }
+
+ if (!inode || !inode->i_nlink)
+ GOTO(out, rc = -ENOENT);
+
+ if (i_size_read(inode) > lvb->lvb_size || !increase_only) {