From: Shenghui Wang <[email protected]>

The pr_err statement in the code for sysfs_attatch section would run
for various error codes, which maybe confusing.

E.g,

Run the command twice:
   echo 796b5c05-b03c-4bc7-9cbd-a8df5e8be891 > \
                                /sys/block/bcache0/bcache/attach
   [the backing dev got attached on the first run]
   echo 796b5c05-b03c-4bc7-9cbd-a8df5e8be891 > \
                                /sys/block/bcache0/bcache/attach

In dmesg, after the command run twice, we can get:
        bcache: bch_cached_dev_attach() Can't attach sda6: already attached
        bcache: __cached_dev_store() Can't attach 796b5c05-b03c-4bc7-9cbd-\
a8df5e8be891
               : cache set not found
The first statement in the message was right, but the second was
confusing.

bch_cached_dev_attach has various pr_ statements for various error
codes, except ENOENT.

After the change, rerun above command twice:
        echo 796b5c05-b03c-4bc7-9cbd-a8df5e8be891 > \
                        /sys/block/bcache0/bcache/attach
        echo 796b5c05-b03c-4bc7-9cbd-a8df5e8be891 > \
                        /sys/block/bcache0/bcache/attach

In dmesg we only got:
        bcache: bch_cached_dev_attach() Can't attach sda6: already attached
No confusing "cache set not found" message anymore.

And for some not exist SET-UUID:
        echo 796b5c05-b03c-4bc7-9cbd-a8df5e8be898 > \
                        /sys/block/bcache0/bcache/attach
In dmesg we can get:
        bcache: __cached_dev_store() Can't attach 796b5c05-b03c-4bc7-9cbd-\
a8df5e8be898
                       : cache set not found

Signed-off-by: Shenghui Wang <[email protected]>
Signed-off-by: Coly Li <[email protected]>
---
 drivers/md/bcache/sysfs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
index 6e88142514fb..22f8565d2bf1 100644
--- a/drivers/md/bcache/sysfs.c
+++ b/drivers/md/bcache/sysfs.c
@@ -351,8 +351,8 @@ STORE(__cached_dev)
                        if (!v)
                                return size;
                }
-
-               pr_err("Can't attach %s: cache set not found", buf);
+               if (v == -ENOENT)
+                       pr_err("Can't attach %s: cache set not found", buf);
                return v;
        }
 
-- 
2.18.0

Reply via email to