ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:23.08 GB of 70.42 GB (32.78%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ usr/ src/ linux-headers-3.0.0-14/ include/ linux/ - drwxr-xr-x

Directory:
Viewing file:     dm-dirty-log.h (3.94 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 * Copyright (C) 2003 Sistina Software
 * Copyright (C) 2004-2008 Red Hat, Inc. All rights reserved.
 *
 * Device-Mapper dirty region log.
 *
 * This file is released under the LGPL.
 */

#ifndef _LINUX_DM_DIRTY_LOG
#define _LINUX_DM_DIRTY_LOG

#ifdef __KERNEL__

#include <linux/types.h>
#include <linux/device-mapper.h>

typedef sector_t region_t;

struct dm_dirty_log_type;

struct dm_dirty_log {
    struct dm_dirty_log_type *type;
    int (*flush_callback_fn)(struct dm_target *ti);
    void *context;
};

struct dm_dirty_log_type {
    const char *name;
    struct module *module;

    /* For internal device-mapper use */
    struct list_head list;

    int (*ctr)(struct dm_dirty_log *log, struct dm_target *ti,
           unsigned argc, char **argv);
    void (*dtr)(struct dm_dirty_log *log);

    /*
     * There are times when we don't want the log to touch
     * the disk.
     */
    int (*presuspend)(struct dm_dirty_log *log);
    int (*postsuspend)(struct dm_dirty_log *log);
    int (*resume)(struct dm_dirty_log *log);

    /*
     * Retrieves the smallest size of region that the log can
     * deal with.
     */
    uint32_t (*get_region_size)(struct dm_dirty_log *log);

    /*
     * A predicate to say whether a region is clean or not.
     * May block.
     */
    int (*is_clean)(struct dm_dirty_log *log, region_t region);

    /*
     *  Returns: 0, 1, -EWOULDBLOCK, < 0
     *
     * A predicate function to check the area given by
     * [sector, sector + len) is in sync.
     *
     * If -EWOULDBLOCK is returned the state of the region is
     * unknown, typically this will result in a read being
     * passed to a daemon to deal with, since a daemon is
     * allowed to block.
     */
    int (*in_sync)(struct dm_dirty_log *log, region_t region,
               int can_block);

    /*
     * Flush the current log state (eg, to disk).  This
     * function may block.
     */
    int (*flush)(struct dm_dirty_log *log);

    /*
     * Mark an area as clean or dirty.  These functions may
     * block, though for performance reasons blocking should
     * be extremely rare (eg, allocating another chunk of
     * memory for some reason).
     */
    void (*mark_region)(struct dm_dirty_log *log, region_t region);
    void (*clear_region)(struct dm_dirty_log *log, region_t region);

    /*
     * Returns: <0 (error), 0 (no region), 1 (region)
     *
     * The mirrord will need perform recovery on regions of
     * the mirror that are in the NOSYNC state.  This
     * function asks the log to tell the caller about the
     * next region that this machine should recover.
     *
     * Do not confuse this function with 'in_sync()', one
     * tells you if an area is synchronised, the other
     * assigns recovery work.
    */
    int (*get_resync_work)(struct dm_dirty_log *log, region_t *region);

    /*
     * This notifies the log that the resync status of a region
     * has changed.  It also clears the region from the recovering
     * list (if present).
     */
    void (*set_region_sync)(struct dm_dirty_log *log,
                region_t region, int in_sync);

    /*
     * Returns the number of regions that are in sync.
     */
    region_t (*get_sync_count)(struct dm_dirty_log *log);

    /*
     * Support function for mirror status requests.
     */
    int (*status)(struct dm_dirty_log *log, status_type_t status_type,
              char *result, unsigned maxlen);

    /*
     * is_remote_recovering is necessary for cluster mirroring. It provides
     * a way to detect recovery on another node, so we aren't writing
     * concurrently.  This function is likely to block (when a cluster log
     * is used).
     *
     * Returns: 0, 1
     */
    int (*is_remote_recovering)(struct dm_dirty_log *log, region_t region);
};

int dm_dirty_log_type_register(struct dm_dirty_log_type *type);
int dm_dirty_log_type_unregister(struct dm_dirty_log_type *type);

/*
 * Make sure you use these two functions, rather than calling
 * type->constructor/destructor() directly.
 */
struct dm_dirty_log *dm_dirty_log_create(const char *type_name,
            struct dm_target *ti,
            int (*flush_callback_fn)(struct dm_target *ti),
            unsigned argc, char **argv);
void dm_dirty_log_destroy(struct dm_dirty_log *log);

#endif    /* __KERNEL__ */
#endif    /* _LINUX_DM_DIRTY_LOG_H */
Command:
Quick Commands:
Upload:
[Read-Only] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [Read-Only]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.2092 seconds