18 May, 2016

1 commit

  • We need to be able to change the way XFS behaviours in error
    conditions depending on the type of underlying storage. This is
    necessary for handling non-traditional block devices with extended
    error cases, such as thin provisioned devices that can return ENOSPC
    as an IO error.

    Introduce the basic sysfs infrastructure needed to define and
    configure error behaviours. This is done to be generic enough to
    extend to configuring behaviour in other error conditions, such as
    ENOMEM, which also has different desired behaviours according to
    machine configuration.

    Signed-off-by: Dave Chinner
    Signed-off-by: Carlos Maiolino
    Reviewed-by: Brian Foster
    Signed-off-by: Dave Chinner

    Carlos Maiolino
     

12 Oct, 2015

1 commit


09 Sep, 2014

1 commit

  • Create a top-level debug directory for global debug sysfs attributes.
    This directory is added and removed on XFS module initialization and
    removal respectively for DEBUG mode kernels only. It typically resides
    at /sys/fs/xfs/debug. It is located at the top level of the xfs sysfs
    hierarchy as attributes might define global behavior or behavior that
    must be configured before an xfs mount is available (e.g., log recovery
    behavior).

    Define the global debug kobject that represents the debug sysfs
    directory and add generic attribute show/store helpers to support future
    attributes. No debug attributes are exported as of yet.

    Signed-off-by: Brian Foster
    Reviewed-by: Dave Chinner
    Signed-off-by: Dave Chinner

    Brian Foster
     

15 Jul, 2014

2 commits

  • Embed a kobject into the xfs log data structure (xlog). This creates a
    'log' subdirectory for every XFS mount instance in sysfs. The lifecycle
    of the log kobject is tied to the lifecycle of the log.

    Also define a set of generic attribute handlers associated with the log
    kobject in preparation for the addition of attributes.

    Signed-off-by: Brian Foster
    Reviewed-by: Dave Chinner
    Signed-off-by: Dave Chinner

    Brian Foster
     
  • Embed a base kobject into xfs_mount. This creates a kobject associated
    with each XFS mount and a subdirectory in sysfs with the name of the
    filesystem. The subdirectory lifecycle matches that of the mount. Also
    add the new xfs_sysfs.[c,h] source files with some XFS sysfs
    infrastructure to facilitate attribute creation.

    Note that there are currently no attributes exported as part of the
    xfs_mount kobject. It exists solely to serve as a per-mount container
    for child objects.

    Signed-off-by: Brian Foster
    Reviewed-by: Dave Chinner
    Signed-off-by: Dave Chinner

    Brian Foster