diff --git a/WHATS_NEW b/WHATS_NEW index 7b944f428..e8c35a8fa 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.60 - 23rd January 2010 =================================== + Fix return code of info call for query by uuid. Extend cmirrord man page. Sleep before first progress check if pvmove/lvconvert interval has prefix '+'. Default to checking progress before waiting in _wait_for_single_lv. diff --git a/lib/activate/dev_manager.c b/lib/activate/dev_manager.c index 25b7a1002..60235747c 100644 --- a/lib/activate/dev_manager.c +++ b/lib/activate/dev_manager.c @@ -209,14 +209,16 @@ static int _info(const char *name, const char *dlid, int mknodes, int with_open_count, int with_read_ahead, struct dm_info *info, uint32_t *read_ahead) { + int r = 0; + if (!mknodes && dlid && *dlid) { - if (_info_run(NULL, dlid, info, read_ahead, 0, with_open_count, - with_read_ahead, 0, 0) && + if ((r = _info_run(NULL, dlid, info, read_ahead, 0, with_open_count, + with_read_ahead, 0, 0)) && info->exists) return 1; - else if (_info_run(NULL, dlid + sizeof(UUID_PREFIX) - 1, info, + else if ((r = _info_run(NULL, dlid + sizeof(UUID_PREFIX) - 1, info, read_ahead, 0, with_open_count, - with_read_ahead, 0, 0) && + with_read_ahead, 0, 0)) && info->exists) return 1; } @@ -225,7 +227,7 @@ static int _info(const char *name, const char *dlid, int mknodes, return _info_run(name, NULL, info, read_ahead, mknodes, with_open_count, with_read_ahead, 0, 0); - return 0; + return r; } static int _info_by_dev(uint32_t major, uint32_t minor, struct dm_info *info)