--- a/include/uapi/linux/fs.h
+++ b/include/uapi/linux/fs.h
@@ -169,12 +169,21 @@ struct blk_user_cbt_snap_create {
      __u64 size;
  };
+struct blk_user_cbt_list {
+    __u32 count;        /* Amount of name entries in names
+                 * in - available, out - filled
+                 */
+    __u32 total_count;    /* Total bitmap count of this device (out) */

Why do we need to know how many cbts were filled? It would always be min(available, total). So it seems we can use just one "count" variable with the same effect.

The only important case is when the amount of cbts is bigger then the provided buffer. e.g. someone added a cbt in-between calls or someone supplied static size buffer with the hopes that it will be enough

Still, my point is that you don't need two variables to handle it.

Why not? If you want to list every bitmap and someone does create a new one between first and second ioctls, you won't know. But I do not check it after second ioctl anyway, so probably we should reduce it to a single field


You will know, as on second ioctl the count will be set to bigger value than it was set by syscall on the first call, bigger than the buffer size you've given it, so you would know that some new cbt had appeared.
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to