Shyam Prasad N <[email protected]> wrote:
> @@ -1376,6 +1376,13 @@ struct inode *cifs_root_iget(struct super_block *sb)
> inode = ERR_PTR(rc);
> }
>
> + /*
> + * The cookie is initialized from volume info returned above.
> + * Inside cifs_fscache_get_super_cookie it checks
> + * that we do not get super cookie twice.
> + */
> + cifs_fscache_get_super_cookie(tcon);
Ummm... Does this handle the errors correctly? What happens if rc != 0 at
this point and the inode has been marked failed? It looks like it will
abandon creation of the superblock without cleaning up the super cookie.
Maybe - or maybe it can't happen because of the:
iget_no_retry:
if (!inode) {
inode = ERR_PTR(rc);
goto out;
}
check - but then why is rc being checked?
> +
> out:
> kfree(path);
> free_xid(xid);
David
--
Linux-cachefs mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/linux-cachefs