On Tue, Sep 05, 2017 at 01:30:04AM +0800, Coly Li wrote:
When you mentioned "whole chunk of code", do you mean the following
block of code ?
1960 if (IS_ERR(bdev)) {
========= start of whole chunk of code ============
1961 if (bdev == ERR_PTR(-EBUSY)) {
1962 bdev = lookup_bdev(strim(path));
1963 mutex_lock(&bch_register_lock);
1964 if (!IS_ERR(bdev) && bch_is_open(bdev))
1965 err = "device already registered";
1966 else
1967 err = "device busy";
1968 mutex_unlock(&bch_register_lock);
1969 if (!IS_ERR(bdev))
1970 bdput(bdev);
1971 if (attr == &ksysfs_register_quiet)
1972 goto out;
1973 }
========= end of whole chunk of code ============
1974 goto err;
1975 }
I don't mind to remove it, just double check I don't misunderstand what
you meant.
Yes, that's the problematic block.