20 Feb, 2017

2 commits


25 Aug, 2016

1 commit

  • Add basic support for RBD_FEATURE_EXCLUSIVE_LOCK feature. Maintenance
    operations (resize, snapshot create, etc) are offloaded to librbd via
    returning -EOPNOTSUPP - librbd should request the lock and execute the
    operation.

    Signed-off-by: Ilya Dryomov
    Reviewed-by: Mike Christie
    Tested-by: Mike Christie

    Ilya Dryomov
     

17 Dec, 2012

1 commit

  • RBD_MAX_SEG_NAME_LEN represents the maximum length of an rbd object
    name (i.e., one of the objects providing storage backing an rbd
    image).

    Another symbol, MAX_OBJ_NAME_SIZE, is used in the osd client code to
    define the maximum length of any object name in an osd request.

    Right now they disagree, with RBD_MAX_SEG_NAME_LEN being too big.

    There's no real benefit at this point to defining the rbd object
    name length limit separate from any other object name, so just
    get rid of RBD_MAX_SEG_NAME_LEN and use MAX_OBJ_NAME_SIZE in its
    place.

    Signed-off-by: Alex Elder
    Reviewed-by: Sage Weil

    Alex Elder
     

02 Oct, 2012

2 commits

  • Define constant symbols related to the rbd format 2 object names.
    This begins to bring this version of the "rbd_types.h" header
    more in line with the current user-space version of that file.
    Complete reconciliation of differences will be done at some
    point later, as a separate task.

    Signed-off-by: Alex Elder
    Reviewed-by: Josh Durgin

    Alex Elder
     
  • In the on-disk image header structure there is a field "block_name"
    which represents what we now call the "object prefix" for an rbd
    image. Rename this field "object_prefix" to be consistent with
    modern usage.

    This appears to be the only remaining vestige of the use of "block"
    in symbols that represent objects in the rbd code.

    This addresses http://tracker.newdream.net/issues/1761

    Signed-off-by: Alex Elder
    Reviewed-by: Josh Durgin
    Reviewed-by: Dan Mick

    Alex Elder
     

31 Jul, 2012

1 commit

  • There is no need to impose a small limit the length of the rbd image
    name recorded in a struct rbd_dev. Remove the limitation by
    allocating space for the image name dynamically.

    Signed-off-by: Alex Elder
    Reviewed-by: Josh Durgin

    Alex Elder
     

22 Mar, 2012

1 commit

  • Here is another set of small code tidy-ups:
    - Define SECTOR_SHIFT and SECTOR_SIZE, and use these symbolic
    names throughout. Tell the blk_queue system our physical
    block size, in the (unlikely) event we want to use something
    other than the default.
    - Delete the definition of struct rbd_info, which is never used.
    - Move the definition of dev_to_rbd() down in its source file,
    just above where it gets first used, and change its name to
    dev_to_rbd_dev().
    - Replace an open-coded operation in rbd_dev_release() to use
    dev_to_rbd_dev() instead.
    - Calculate the segment size for a given rbd_device just once in
    rbd_init_disk().
    - Use the '%zd' conversion specifier in rbd_snap_size_show(),
    since the value formatted is a size_t.
    - Switch to the '%llu' conversion specifier in rbd_snap_id_show().
    since the value formatted is unsigned.

    Signed-off-by: Alex Elder

    Alex Elder
     

21 Oct, 2010

1 commit

  • The rados block device (rbd), based on osdblk, creates a block device
    that is backed by objects stored in the Ceph distributed object storage
    cluster. Each device consists of a single metadata object and data
    striped over many data objects.

    The rbd driver supports read-only snapshots.

    Signed-off-by: Yehuda Sadeh
    Signed-off-by: Sage Weil

    Yehuda Sadeh