[Drbd-dev] [GIT PULL] drbd-8.4.2 for the linux-3.8 merge window
Philipp Reisner
philipp.reisner at linbit.com
Fri Nov 9 14:33:26 CET 2012
Jens, here it is without the sysfs stuff
The following changes since commit ccae7868b0c5697508a541c531cf96b361d62c1c:
drbd: log request sector offset and size for IO errors (2012-10-30 08:39:18 +0100)
are available in the git repository at:
git://git.drbd.org/linux-drbd.git for-jens_drbd-8.4.2
for you to fetch changes up to f1d6a328bbe63b528721a25251ad8f5f1e997804:
drbd: use copy_highpage (2012-11-09 14:22:26 +0100)
----------------------------------------------------------------
Akinobu Mita (1):
drbd: use copy_highpage
Andreas Gruenbacher (210):
drbd: Get rid of req_validator_fn typedef
drbd: Remove superfluous declaration
drbd: Consistently use block_id == ID_SYNCER for checksum based resync and online verify
drbd: Get rid of BE_DRBD_MAGIC and BE_DRBD_MAGIC_BIG
drbd: Endianness convert the constants instead of the variables
drbd: Magic reserved block_id value cleanup
drbd: Move drbd_free_tl_hash() to drbd_main()
drbd: Update outdated comment
drbd: Request lookup code cleanup (1)
drbd: Request lookup code cleanup (2)
drbd: Request lookup code cleanup (3)
drbd: Request lookup code cleanup (4)
drbd: Add interval tree data structure
drbd: Put sector and size in struct drbd_request into struct drbd_interval
drbd: Use interval tree for overlapping write request detection
drbd: Add read_requests tree
drbd: Use the read and write request trees for request lookups
drbd: Put sector and size in struct drbd_epoch_entry into struct drbd_interval
drbd: Use interval tree for overlapping epoch entry detection
drbd: Remove the unused hash tables
drbd: Convert all constants in enum drbd_req_event to upper case
drbd: Convert all constants in enum drbd_thread_state to upper case
drbd: Replace the ERR_IF macro with an assert-like macro
drbd: Remove some useless paranoia code
drbd: Inline function overlaps() is now unused
drbd: Interval tree bugfix
drbd: Move cmdname() out of drbd_int.h
drbd: Rename "enum drbd_packets" to "enum drbd_packet"
drbd: Remove redundant initialization
drbd: Initialize the sequence number sent over the network even when not used
drbd: Move sequence number logic into drbd_receiver.c and simplify it
drbd: Move some functions to where they are used
drbd: struct drbd_request: Introduce a new collision flag
drbd: Remove redundant check from drbd_contains_interval()
drbd: Allow to wait for the completion of an epoch entry as well
drbd: _req_conflicts(): Get rid of the epoch_entries tree
drbd: Remove unnecessary reference counting left-over
drbd: Defer new writes when detecting conflicting writes
drbd: Make the peer_seq updating code more obvious
drbd: Improve the drbd_find_overlap() documentation
drbd: Remove unused variable in struct drbd_conf
drbd: Rename struct drbd_epoch_entry to struct drbd_peer_request
drbd: Clean up some left-overs
drbd: Update some comments
drbd: Local variable renames: e -> peer_req
drbd: Rename drbd_submit_ee -> drbd_submit_peer_request
drbd: Rename drbd_endio_{pri,sec} -> drbd_{,peer_}request_endio
drbd: Iterate over all overlapping intervals in a tree
drbd: Remove obsolete comment
drbd: Use the IS_ALIGNED() macro in some more places
drbd: Use container_of() instead of casting
drbd: Concurrent write detection fix
drbd: Replace atomic_add_return with atomic_inc_return
drbd: Use ping-timeout when waiting for missing ack packets
drbd: Improve how conflicting writes are handled
drbd: Remove redundant check
drbd: Get rid of P_MAX_CMD
drbd: Replace get_asender_cmd() with its implementation
drbd: Remove left-over function prototypes
drbd: drbd_send(): Return a "real" error code if we have no socket
drbd: drbd_get_data_sock(): Return 0 upon success and an error code otherwise
drbd: Add drbd_send_all(): Send an entire buffer
drbd: conn_send_cmd2(): Return 0 upon success and an error code otherwise
drbd: _conn_send_cmd(): Return 0 upon success and an error code otherwise
drbd: _drbd_send_cmd(): Return 0 upon success and an error code otherwise
drbd: conn_send_cmd(): Return 0 upon success and an error code otherwise
drbd: Get rid of USE_DATA_SOCKET and USE_META_SOCKET
drbd: drbd_send_cmd(): Return 0 upon success and an error code otherwise
drbd: drbd_send_sync_param(): Return 0 upon success and an error code otherwise
drbd: drbd_send_state(): Return 0 upon success and an error code otherwise
drbd: drbd_send_handshake(): Return 0 upon success and an error code otherwise
drbd: drbd_send_protocol(): Return 0 upon success and an error code otherwise
drbd: drbd_send_uuids() and its variants: Return 0 upon success and an error code otherwise
drbd: drbd_gen_and_send_sync_uuid(): Return void: the result is never used
drbd: drbd_send_sizes(): Return 0 upon success and an error code otherwise
drbd: _conn_send_state_req(): Return 0 upon success and an error code otherwise
drbd: conn_send_state_req(): Return 0 upon success and an error code otherwise
drbd: drbd_send_state_req(): Return 0 upon success and an error code otherwise
drbd: drbd_send_sr_reply(): Return void: the result is never used
drbd: drbd_send_b_ack(): Return void: the result is never used
drbd: _drbd_send_ack(): Return 0 upon success and an error code otherwise
drbd: drbd_send_ack(): Return 0 upon success and an error code otherwise
drbd: drbd_send_ack_{dp,rp}(): Return void: the result is never used
drbd: drbd_send_ack_ex(): Return 0 upon success and an error code otherwise
drbd: drbd_send_ov_request(): Return 0 upon success and an error code otherwise
drbd: drbd_send_drequest(): Return 0 upon success and an error code otherwise
drbd: drbd_send_drequest_csum(): Return 0 upon success and an error code otherwise
drbd: drbd_send_oos(): Return 0 upon success and an error code otherwise
drbd: _drbd_no_send_page(): Return 0 upon success and an error code otherwise
drbd: _drbd_send_page(): Return 0 upon success and an error code otherwise
drbd: _drbd_send_zc_ee(): Return 0 upon success and an error code otherwise
drbd: drbd_send_block(): Return 0 upon success and an error code otherwise
drbd: _drbd_send_bio(), _drbd_send_zc_bio(): Return 0 upon success and an error code otherwise
drbd: drbd_send_dblock(): Return 0 upon success and an error code otherwise
drbd: drbd_send_short_cmd(): Return 0 upon success and an error code otherwise
drbd: Temporarily change the return type of all worker callbacks
drbd: Make all worker callbacks return 0 upon success and an error code otherwise
drbd: drbd_process_done_ee(): Return 0 upon success and an error code otherwise
drbd: decode_header(): Return 0 upon success and an error code otherwise
drbd: drbd_recv_header(): Return 0 upon success and an error code otherwise
drbd: drbd_drain_block(): Return 0 upon success and an error code otherwise
drbd: recv_dless_read(): Return 0 upon success and an error code otherwise
drbd: recv_resync_read(): Return 0 upon success and an error code otherwise
drbd: send_bitmap_rle_or_plain(): Error handling cleanup
drbd: Add drbd_recv_all(): Receive an entire buffer
drbd: Make all command handlers return 0 upon success and an error code otherwise
drbd: drbd_bm_read() never returns a positive value through drbd_bitmap_io()
drbd: _drbd_md_sync_page_io(): Return 0 upon success and an error code otherwise
drbd: drbd_md_sync_page_io(): Return 0 upon success and an error code otherwise
drbd: Remove duplicate initialization
drbd: Remove unnecessary assertion
drbd: drbd_may_do_local_read(): Use bool/true/false
drbd: Rename various functions from *_oos_* to *_out_of_sync_* for clarity
drbd: Get rid of typedef drbd_work_cb
drbd: Introduce and use drbd_recv_all_warn()
drbd: drbd_connected(): Return an error code upon failure.
drbd: Always use the same protocol version for the same peer
drbd: Move drbd_send_ping() and drbd_send_ping_ack() to drbd_main.c
drbd: Make _drbd_send_bitmap() static
drbd: Rename the DCBP_* functions to dcbp_* and move them to where they are used
drbd: Preallocate one page per drbd_socket as a receive buffer
drbd: receive_bitmap(): Use the pre-allocated receive buffer
drbd: Preallocate one page per drbd_socket as a send buffer
drbd: _drbd_send_bitmap(): Use the pre-allocated send buffer
drbd: A small cleanup in drbdd()
drbd: Remove useless error messages
drbd: Pass struct packet_info down to the receive functions
drbd: Map from (connection, volume number) to device in the receive handlers
drbd: Pass struct packet_info down to the asender receive functions
drbd: Map from (connection, volume number) to device in the asender handlers
drbd: drbd_connect(): Initialize struct drbd_socket before sending anything
drbd: _conn_send_cmd(), _drbd_send_cmd(): Pass a struct drbd_socket instead of a plain socket
drbd: Change how the initial packets are called
drbd: Change how the "handshake" packets are called
drbd: drbd_send_ping(), drbd_send_ping(): Return 0 upon success and an error code otherwise
drbd: Introduce new primitives for sending commands
drbd: Introduce drbd_header_size()
drbd: Replace and remove old primitives
drbd: Remove now-unused int_dig_out buffer
drbd: Remove some fixed header size assumptions
drbd: Remove headers from on-the-wire data structures (struct p_*)
drbd: Introduce protocol version 100 headers
drbd: Removed outdated comments and code that envisioned VNRs in header 95
drbd: validate_req_change_req_state(): Return 0 upon success and an error code otherwise
drbd: Make all asynchronous command handlers return 0 upon success and an error code otherwise
drbd: drbd_init_ee() no longer exists
drbd: Rename drbd_alloc_ee() to drbd_alloc_peer_req()
drbd: Rename drbd_free_ee() and variants to *_peer_req()
drbd: Rename drbd_release_ee() to drbd_free_peer_reqs()
drbd: Rename reclaim_net_ee(), drbd_process_done_ee(), drbd_process_done_ee(), tconn_process_done_ee() to *_peer_reqs
drbd: Rename drbd_{ ee -> peer_req }_has_active_page
drbd: Make drbd_wait_ee_list_empty() and _drbd_wait_ee_list_empty() static
drbd: Rename drbd_pp_first_pages_or_try_alloc() to __drbd_alloc_pages()
drbd: Rename drbd_pp_alloc() to drbd_alloc_pages() and make it non-static
drbd: Rename drbd_pp_free() to drbd_free_pages()
drbd: Wrong use of RCU in receive_protocol()
drbd: Rename integrity_w_tfm -> integrity_tfm
drbd: Rename integrity_r_tfm -> peer_integrity_tfm
drbd: Remove obsolete drbd_crypto_is_hash()
drbd: Introduce a "lockless" variant of drbd_send_protocoll()
drbd: Allow to change data-integrity-alg on the fly
drbd: Remove left-over unused define
drbd: Generate the drbd_set_*_defaults() functions from drbd_genl.h
drbd: Convert boolean flags on netlink from NLA_FLAG to NLA_U8
drbd: Turn no-disk-flushes into disk-flushes={yes|no}
drbd: Turn no-disk-drain into disk-drain={yes|no}
drbd: Turn no-md-flushes into md-flushes={yes|no}
drbd: Turn no-tcp-cork into tcp-cork={yes|no}
drbd: Make broadcast events return NO_ERROR
drbd: Also define the default values of boolean flags in a single place
drbd: Rename the want_lose field/flag to discard_my_data
drbd: Refer to resync-rate consistently throughout the code
drbd: Refer to connect-int consistently throughout the code
drbd: Fix the upper limit of resync-after
drbd: Convert resync-after into a signed netlink field
drbd: Rename DISK_SIZE_SECT -> DISK_SIZE
drbd: Use more generic constant names
drbd: Output signed / unsigned netlink fields correctly
drbd: Remove unused GENLA_F_MAY_IGNORE flag
drbd: Make drbd's use of netlink attribute flags less confusing
drbd: drbd_nla_check_mandatory(): Need to remove the DRBD_GENLA_F_MANDATORY flag first
drbd: drbd_adm_prepare(): Pass through error codes
drbd: Don't use empty nested netlink attributes
drbd: Use DRBD_MINOR_COUNT_DEF in one more place
drbd: Use the terminology suggested by the command names in the source code and messages
drbd: Also need to check for DRBD_GENLA_F_MANDATORY flags before nla_find_nested()
drbd: Split off netlink mandatory attribute handling into separate file
drbd: Rename DRBD_ADM_NEED_{CONN -> RESOURCE}
drbd: Convert the generic netlink interface to accept connection endpoints
drbd: Allow to pass resource options to the new-resource command
drbd: Remove dead code
drbd: Rename --dry-run to --tentative
drbd: Improve the "unexpected packet" error messages
drbd: Define scale factors in a single place
drbd: Fix the maximum accepted minor device number
drbd: Allow to create devices with a minor number > minor_count
drbd: Print memory address in hex instead of decimal in error message
drbd: receive_protocol(): Give variables more easily searchable names
drbd: receive_protocol(): Make the program flow less confusing
drbd: Be consistent in reporting incompatibilities in P_PROTOCOL settings
drbd: receive_protocol(): We cannot change our own data-integrity-alg setting here
drbd: Turn tl_apply() into tl_abort_disk_io()
drbd: Fix the data-integrity-alg setting
drbd: Get rid of MR_{READ,WRITE}_SHIFT
drbd: Update some outdated comments to match the code
drbd: Improve error reporting in drbd_md_sync_page_io()
drbd: Remove leftover prototype
drbd: drbd_bm_ALe_set_all(): Remove unused function
drbd: Stop using NLA_PUT*().
drbd: Don't unregister socket state_change callback from within the callback
David Howells (1):
DRBD: Fix comparison always false warning due to long/long long compare
Jing Wang (1):
drbd: check return of kmalloc in receive_uuids
Lars Ellenberg (135):
drbd: simplify condition in drbd_may_do_local_read()
drbd: fix typo in comment
drbd: in drbd_suspend_al, set AL_SUSPENDED before unlocking the activity log
drbd: use clear_bit_unlock() where appropriate
lru_cache.h: fix comments referring to ts_ instead of lc_
lru_cache: consolidate lc_get and lc_try_get
drbd: allow to select specific bitmap pages for writeout
lru_cache: allow multiple changes per transaction
drbd: new on-disk activity log transaction format
drbd: silence some log messages on bitmap IO
drbd: fix a wrong likely(), updated comments
drbd: remove unused define
drbd: default to detach on-io-error
drbd: only wakeup if something changed in update_peer_seq
drbd: add page pool to be used for meta data IO
drbd: use the newly introduced page pool for bitmap IO
drbd: introduce a bio_set to allocate housekeeping bios from
drbd: fix drbd_delete_device: remove vnr from volumes; idr_remove(); synchronize_rcu(); before cleanup
drbd: get rid of drbd_bcast_ee, it is of no use anymore
drbd: prepare the transition from connector to genetlink
drbd: switch configuration interface from connector to genetlink
drbd: allow holes in minor and volume id allocation
drbd: remove now unused connector related files
drbd: drbd_adm_get_status needs to show some more detail
drbd: simplify conn_all_vols_unconf, make it bool
drbd: Allow a Diskless Secondary volume to be removed
drbd: new-connection and new-minor succeed, if the object already exists
drbd: bail out if a config requrest is over-determined, and not matching
drbd: add forgotten spin_unlock
drbd: introduce in-kernel "down" command
drbd: fix conn_reconfig_start without conn_reconfig_done in drbd_adm_attach
drbd: distribute former syncer_conf settings to disk, connection, and resource level
drbd: introduce the "initialized" activity log transaction type
drbd: preparation commit, pass drbd_interval to drbd_al_begin/complete_io
drbd: prepare to activate two activity log extents at once
drbd: get rid of bio_split, allow bios of "arbitrary" size
drbd: improvements to activate/deactivate multiple activity log extents
drbd: allow status dump request all volumes of a specific resource
drbd: fix setsockopt for user mode linux
drbd: cmdname() enum to string convertion was missing a few constants
drbd: move comment about stopping the receiver thread to where it belongs
drbd: remove useless kobject_uevent from drbd_adm_connect
drbd: fix various disconnecting races
drbd: on reconfiguration requests, mind the SET_DEFAULTS flag
drbd: rename variable ndc to new_disk_conf
drbd: rename variable sc to res_opts
drbd: fix copy/paste error in comment
drbd: fix race when forcefully disconnecting
drbd: fix thread stop deadlock
drbd: fix schedule in atomic
drbd: Introduce __s32_field in the genetlink macro magic
drbd: skip spurious wait_event in drbd_al_begin_io
drbd: cosmetic: fix accidental division instead of modulo when pretty printing
drbd: spelling fix: too small
drbd: allow ping-timeout of up to 30 seconds
drbd: downgraded error printk to info
drbd: on attach, enforce clean meta data
drbd: report net config even for resources without a single volume
drbd: detach must not try to abort non-local requests
drbd: fix connect failure with all default net-options
drbd: fix bitmap writeout after aborted resync
drbd: add missing rcu locks around recently introduced idr_for_each
drbd: explicitly clear unused dp_flags in drbd_send_block
drbd: Fix a potential race that could case data inconsistency
drbd: Fix a potential write ordering issue on SyncTarget nodes
drbd: Fixed detach
drbd: fix potential data corruption and protocol error
drbd: remove now unused seq_num member from struct drbd_request
drbd: missing wakeup after drbd_rs_del_all
drbd: fix memleak in error path in bm_rw and drbd_bm_write_range
drbd: remove some very outdated comments
drbd: remove unused static helper function
drbd: don't pretend that barrier_nr == 0 was special
drbd: fix potential deadlock during "restart" of conflicting writes
drbd: make OOS_HANDED_TO_NETWORK its own case
drbd: fix READ_RETRY_REMOTE_CANCELED to not complete if device is suspended
drbd: fix WRITE_ACKED_BY_PEER_AND_SIS to not set RQ_NET_DONE
drbd: conflicting writes: make wake_up of waiting peer_requests explicit
drbd: factor out master_bio completion and drbd_request destruction paths
drbd: move put_ldev from __req_mod() to the endio callback
drbd: simplify retry path of failed READ requests
drbd: complete_conflicting_writes() should not care about connections
drbd: ignore volume number for drbd barrier packet exchange
drbd: fix resend/resubmit of frozen IO
drbd: fix race between drbdadm invalidate/verify and finishing resync
drbd: allow bitmap to change during writeout from resync_finished
drbd: bm_page_async_io: properly initialize page->private
drbd: grammar fix in log message
drbd: fix access of unallocated pages and kernel panic
drbd: fix local read error hung forever
drbd: fix wrong assert in completion/retry path of failed local reads
drbd: rename drbd_restart_write to drbd_restart_request
drbd: transfer log epoch numbers are now per resource
drbd: allow to dequeue batches of work at a time
drbd: move the drbd_work_queue from drbd_socket to drbd_connection
drbd: remove struct drbd_tl_epoch objects (barrier works)
drbd: better separate WRITE and READ code paths in drbd_make_request
drbd: __drbd_make_request() is now void
drbd: introduce completion_ref and kref to struct drbd_request
drbd: base completion and destruction of requests on ref counts
drbd: __req_mod: make DISCARD_WRITE and independend case
drbd: allow read requests to be retried after force-detach
drbd: take error path in drbd_adm_down if interrupted by signal
drbd: fix null pointer dereference with on-congestion policy when diskless
drbd: cleanup, remove two unused global flags
drbd: differentiate between normal and forced detach
drbd: report congestion if we are waiting for some userland callback
drbd: reset congestion information before reporting it in /proc/drbd
drbd: do not reset rs_pending_cnt too early
drbd: call local-io-error handler early
drbd: flush drbd work queue before invalidate/invalidate remote
drbd: introduce stop-sector to online verify
drbd: announce FLUSH/FUA capability to upper layers
drbd: fix drbd wire compatibility for empty flushes
drbd: Fix a potential issue with the DISCARD_CONCURRENT flag
drbd: only start a new epoch, if the current epoch contains writes
drbd: NEG_ACK does not imply a barrier-ack
drbd: cleanup, drop unused struct
drbd: disambiguation, s/P_DISCARD_WRITE/P_SUPERSEDED/
drbd: disambiguation, s/DISCARD_CONCURRENT/RESOLVE_CONFLICTS/
drbd: disambiguation, s/ERR_DISCARD/ERR_DISCARD_IMPOSSIBLE/
drbd: properly call drbd_rs_cancel_all() in drbd_disconnected()
drbd: don't send out P_BARRIER with stale information
drbd: temporarily suspend io in drbd_adm_disk_opts
drbd: mutex_unlock "... must no be used in interrupt context"
drbd: dequeue single work items in wait_for_work()
drbd: fix potential list_add corruption
drbd: differentiate early and later "postponing" of requests
drbd: use list_move_tail instead of list_del/list_add_tail
drbd: fix potential deadlock during bitmap (re-)allocation
drbd: a few more GFP_KERNEL -> GFP_NOIO
drbd: wait for meta data IO completion even with failed disk, unless force-detached
drbd: always write bitmap on detach
drbd: log request sector offset and size for IO errors
drbd: if the replication link breaks during handshake, keep retrying
Philipp Marek (1):
drbd: pass some more information to userspace.
Philipp Reisner (232):
idr: idr_for_each_entry() macro
drbd: Minimal struct drbd_tconn
drbd: moved net_conf from mdev to tconn
drbd: moved net_cont and net_cnt_wait from mdev to tconn
drbd: moved data and meta from mdev to tconn
drbd: moved receiver, worker and asender from mdev to tconn
drbd: moved agreed_pro_version, last_received and ko_count to tconn
drbd: moved req_lock and transfer log from mdev to tconn
drbd: moved crypto transformations and friends from mdev to tconn
drbd: Made drbd_flush_workqueue() to take a tconn instead of an mdev
drbd: Preparing to use p_header96 for all packets
drbd: Replaced all p_header80 with a generic p_header
drbd: Use new header layout
drbd: Implemented receiving of new style packets on meta socket
drbd: Do not access tconn after it was freed
drbd: Moved the state functions into its own source file
drbd: Moved the thread name into the data structure
drbd: Eliminated the user of drbd_task_to_thread()
drbd: Moved code
drbd: Do no sleep long in drbd_start_resync
drbd: Revert "Make sure we dont send state if a cluster wide state change is in progress"
drbd: Moving state related macros to drbd_state.h
drbd: conn_printk() a dev_printk() alike for drbd's connections
drbd: Converted drbd_try_connect() from mdev to tconn
drbd: Converted drbd_wait_for_connect() from mdev to tconn
drbd: Started to separated connection flags (tconn) from block device flags (mdev)
drbd: Moved DISCARD_CONCURRENT to the per connection (tconn) flags
drbd: Moved SEND_PING to the per connection (tconn) flags
drbd: Moved SIGNAL_ASENDER to the per connection (tconn) flags
drbd: Converted wake_asender() and request_ping() from mdev to tconn
drbd: Converted helper functions for drbd_send() to tconn
drbd: Converted drbd_send() from mdev to tconn
drbd: Converted drbd_send_fp() from mdev to tconn
drbd: Removed unused mdev argument from drbd_recv_short() and drbd_socket_okay()
drbd: Converted drbd_recv_fp() from mdev to tconn
drbd: Converted drbd_send_handshake() from mdev to tconn
drbd: Converted drbd_recv() from mdev to tconn
drbd: struct packet_info to hold information of decoded packets
drbd: Converted decode_header() from mdev to tconn
drbd: Converted drbd_recv_header() from mdev to tconn
drbd: Converted drbd_do_handshake() from mdev to tconn
drbd: Converted drbd_(get|put)_data_sock() and drbd_send_cmd2() to tconn
drbd: Converted drbd_do_auth() from mdev to tconn
drbd: Converted drbd_send_protocol() from mdev to tconn
drbd: Use and idr data structure to map volume numbers to mdev pointers
drbd: Converted drbd_connect() from mdev to tconn
drbd: Converted drbd_calc_cpu_mask() and drbd_thread_current_set_cpu() from mdev to tconn
drbd: Converted drbdd() from mdev to tconn
drbd: Converted drbd_free_sock() and drbd_disconnect() from mdev to tconn
drbd: Moved the mdev member into drbd_work (from drbd_request and drbd_peer_request)
drbd: Consolidated the setup of the thread name into the framework
drbd: Converted drbdd_init() from mdev to tconn
drbd: Converted drbd_asender() from mdev to tconn
drbd: Converted drbd_worker() from mdev to tconn
drbd: drbd_thread has now a pointer to a tconn instead of to a mdev
drbd: Moved some initializing code into drbd_new_tconn()
drbd: Generalized the work callbacks
drbd: Converted drbd_send_ping() and related functions from mdev to tconn
drbd: Extracted after_conn_state_ch() out of after_state_ch()
drbd: Renamed is_valid_state_transition() to is_valid_soft_transition()
drbd: Extracted is_valid_transition() out of sanitize_state()
drbd: Extracted is_valid_conn_transition() out of is_valid_transition()
drbd: Removed the os parameter form sanitize_state()
drbd: Code de-duplication; new function apply_mask_val()
drbd: Killed volume0; last step of multi-volume-enablement
drbd: Removed drbd_state_lock() and drbd_state_unlock()
drbd: Introduced tconn->cstate_mutex
drbd: Implemented conn_send_state_req()
drbd: Global_state_lock not necessary here...
drbd: Implemented receiving of P_CONN_ST_CHG_REPLY
drbd: implemented receiving of P_CONN_ST_CHG_REQ
drbd: Implemented connection wide state changes
drbd: Reworked the unconfiguring and thread stopping code
drbd: Removed the mdev parameter from the ..to_tags() and ...from_tags() functions
drbd: Improved the dec_*() macros
drbd: Converted the transfer log from mdev to tconn
drbd: Preparing the connector interface to operator on connections
drbd: Converted drbd_nl_(net_conf|disconnect)() from mdev to tconn
drbd: Implemented new commands to create/delete connections/minors
drbd: Replaced the minor_table array by an idr
drbd: Ignore packets for non existing volumes
drbd: process_done_ee() has to handle unconfigured devices now
drbd: New minors have to intherit the connection state form their connection
drbd: Allow two diskless minors to be connected
drbd: Do not modify the connection state with something else that conn_request_state()
drbd: Moved CONN_DRY_RUN to the per connection (tconn) flags
drbd: Allow packet handler functions that take a connection
drbd: Converted receive_protocol() from mdev to tconn
drbd: Separate connection state changes from minor dev state changes #1
drbd: Allow packet handler functions that take a connection (meta connection)
drbd: Converted got_Ping() and got_PingAck() from mdev to tconn
drbd: Separate connection state changes from minor dev state changes #2
drbd: Allow volumes to become primary only on one side
drbd: conn_khelper() for user mode callbacks for connections
drbd: Fixed conn_lowest_minor
drbd: Converted drbd_try_outdate_peer() from mdev to tconn
drbd: Use the idr_for_each_entry() iterator instead of idr_for_each()
drbd: Fixed logging of old connection state
drbd: Print common state changes of all volumes as connection state changes
drbd: Allow to disconnect if one volume is diskless
drbd: Do not segfault if a sync dependency reaches a diskless device
drbd: Introduced drbd_read_state()
drbd: Renamed id_susp(union drbd_state s) to drbd_suspended(struct drbd_conf *)
drbd: Moved susp, susp_nod and susp_fen to the connection object
drbd: Introduced a new type union drbd_dev_state
drbd: Renamed nms to ns_max
drbd: Calculate and provide ns_min to the w_after_conn_state_ch() work
drbd: Implemented conn_lowest_conn()
drbd: Implemented conn_lowest_disk()
drbd: Implemented IO thawing for multiple volumes
drbd: Improved logging of state changes
drbd: Use tconn in request_timer_fn()
drbd: drbd_delete_device() takes a struct drbd_conf * now
drbd: Inlined drbd_free_mdev(); it got called only from one place
drbd: rcu_read_[un]lock() for all idr accesses that do not sleep
drbd: Converted drbd_cfg_mutex into drbd_cfg_rwsem
drbd: protect all idr accesses that might sleep with drbd_cfg_rwsem
drbd: Runtime changeable wire protocol
drbd: Check consistency of net options when the get changed online
drbd: Allow online change of replication protocol only with agreed_pv >= 100
drbd: rcu_read_lock() and rcu_dereference() for tconn->net_conf
drbd: Proper locking for updates to net_conf under RCU
drbd: Considering that the two_primaries config flag can change
drbd: Eliminated drbd_free_resoruces() it is superseeded by conn_free_crypto()
drbd: Basic refcounting for drbd_tconn
drbd: Take a reference on tconn when finding a tconn by name
drbd: Removed the OBJECT_DYING and the CONFIG_PENDING bits
drbd: Consider all crypto options in connect and in net-options
drbd: Removed dead code
drbd: Renamed the net_conf_update mutex to conf_update
drbd: drbd_dew_dev_size() gets the user requests disk_size as argument
drbd: Split drbd_alter_sa() into drbd_sync_after_valid() and drbd_sync_after_changed()
drbd: Renamed (old|new)_conf into (old|new)_net_conf in receive_SyncParam
drbd: RCU for disk_conf
drbd: Made the fifo object a self contained object (preparing for RCU)
drbd: Enforce limits of disk_conf members; centralized these checks
drbd: RCU for rs_plan_s
drbd: Refcounting for mdev objects
drbd: Use RCU for the drbd_tconns list
drbd: Removing drbd_cfg_rwsem
drbd: Refuse to change network options online when...
drbd: protect updates to integrits_tfm by tconn->data->mutex
drbd: Made cmp_after_sb() more generic into convert_after_sb()
drbd: Allocation of int_dig_in and int_dig_vv was missing
drbd: Receiving part for the PROTOCOL_UPDATE packet
drbd: Send PROTOCOL_UPDATE packets when appropriate
drbd: Lower log priority for an event that is definitely not an error
drbd: Fixes from the 8.3 development branch
drbd: Improve compatibility with drbd's older than 8.3.7
drbd: Fixed state transitions in case reading meta data failes
drbd: detach from frozen backing device
drbd: Fixed removal of volumes/devices from connected resources
drbd: Eliminated the "notified peer" messages
drbd: Correctly handle resources without volumes
drbd: Changed some defaults
drbd: Dropped wrong clause to generate new current UUIDs
drbd: Consider that the no-data-condition could be in connected state
drbd: Do not mod_timer() with a past time
drbd: Missing assignment of mdev before drbd_queue_work()
drbd: Fixed w_restart_disk_io() to handle non active AL-extents
drbd: Bugfix for the connection behavior
drbd: Do not display bogus log lines for pdsk in case pdsk < D_UNKNOWN
drbd: The minor_count module parameter is only a hint nowadays
drbd: Cleanup all epoch objects upon connection loss
drbd: Remove dead code
drbd: Remove unused code
drbd: Consider the discard-my-data flag for all volumes [bugz 359]
drbd: fix "stalled" empty resync
drbd: Silenced compiler warnings
drbd: Fixes from the drbd-8.3 branch
drbd: Fixes from the drbd-8.3 branch
drbd: Fixed an obvious copy-n-paste mistake
drbd: Move the CREATE_BARRIER flag from connection to device
drbd: Move write_ordering from mdev to tconn
drbd: Prepare epochs per connection
drbd: Move list of epochs from mdev to tconn
drbd: Switch drbd_may_finish_epoch() from mdev to tconn
drbd: Fix the WO=drain implementation for multiple volumes
drbd: fix potential spinlock deadlock
drbd: Get rid of "ASSERTION FAILED: tconn->current_epoch->list not empty"
drbd: Load balancing of read requests
drbd: Load balancing method: striping
drbd: Do not call generic_make_request() while holding req_lock
drbd: fix race between disconnect and receive_state
drbd: Do not send state packets while lower than C_CONNECTED cstate
drbd: Consider that read requests could be NEG_ACKEDed
drbd: Log failures of connection state changes
drbd: Restore late assigning of tconn->data.sock and meta.sock
drbd: restart loop in drbd_make_request() [prepare for Linux-3.2]
drbd: Fixed compat issue with disconnecting 8.4 from a primary 8.3
drbd: Reinstate disabling AL updates with invalidate-remote
drbd: Consider the disk-timeout also for meta-data IO operations
drbd: If disk timeout expires fail only the affected volume
drbd: Fix module refcount leak in drbd_accept()
drbd: add missing part_round_stats to _drbd_start_io_acct
drbd: Consider that bio->bi_bdev might be modified below DRBD
drbd: Fixed processing of disk-barrier, disk-flushes and disk-drain
drbd: Delay/reject other state changes while establishing a connection
drbd: Ensure that data_size is not 0 before using data_size-1 as index
drbd: fix spelling, remove boring development log message
drbd: use bitmap_parse instead of __bitmap_parse
drbd: Move the call to listen() out of drbd_accept()
drbd: Remove drbd_accept() and use kernel_accept() instead
drbd: New disk option al-updates
drbd: pull prepare_listen_socket() out of drbd_wait_for_connect()
drbd: Keep the listening socket open while trying to connect to the peer
drbd: Remove redundant and wrong test for NULL simplification in conn_connect()
drbd: Try to connec to peer only once per cycle
drbd: More random to the connect logic
drbd: Finish requests that completed while IO was frozen
drbd: Fix completion of requests while the device is suspended
drbd: Write all pages of the bitmap after an online resize
drbd: Protect accesses to the uuid set with a spinlock
drbd: Avoid NetworkFailure state during disconnect
drbd: Remove dead code
drbd: Fix a race condition that can lead to a BUG()
drbd: Fix IO resuming after connection was established while executing the fence handler
drbd: Improve readability of IO resuming after freeze due to no data access
drbd: Do not check aspects that are not subject to change in _conn_requests_state()
drbd: Fix the way the STATE_SENT bit is cleared
drbd: Imporve the error reporting of failed conn state changes
drbd: Fix postponed requests
drbd: Call drbd_md_sync() explicitly after a state change on the connection
drbd: Fix postponed requests
drbd: Remove duplicate code
drbd: Fix comparison of is_valid_transition()'s return code
drbd: panic on delayed completion of aborted requests
drbd: Fix clearing of MDF_AL_DISABLED
drbd: fix regression: potential NULL pointer dereference
drbd: don't try to clear bits once the disk has failed
drbd: Broadcast sync progress no more often than once per second
Merge branch 'drbd-8.4_ed6' into for-3.8-drivers-drbd-8.4_ed6
drivers/block/drbd/Makefile | 2 +
drivers/block/drbd/drbd_actlog.c | 689 +++----
drivers/block/drbd/drbd_bitmap.c | 227 ++-
drivers/block/drbd/drbd_int.h | 1398 ++++++-------
drivers/block/drbd/drbd_interval.c | 207 ++
drivers/block/drbd/drbd_interval.h | 40 +
drivers/block/drbd/drbd_main.c | 3883 ++++++++++++++----------------------
drivers/block/drbd/drbd_nl.c | 3378 ++++++++++++++++++-------------
drivers/block/drbd/drbd_nla.c | 55 +
drivers/block/drbd/drbd_nla.h | 8 +
drivers/block/drbd/drbd_proc.c | 33 +-
drivers/block/drbd/drbd_receiver.c | 3883 +++++++++++++++++++++---------------
drivers/block/drbd/drbd_req.c | 1569 +++++++--------
drivers/block/drbd/drbd_req.h | 187 +-
drivers/block/drbd/drbd_state.c | 1857 +++++++++++++++++
drivers/block/drbd/drbd_state.h | 161 ++
drivers/block/drbd/drbd_strings.c | 1 +
drivers/block/drbd/drbd_worker.c | 1168 ++++++-----
drivers/block/drbd/drbd_wrappers.h | 11 +-
include/linux/drbd.h | 81 +-
include/linux/drbd_genl.h | 378 ++++
include/linux/drbd_genl_api.h | 55 +
include/linux/drbd_limits.h | 90 +-
include/linux/drbd_nl.h | 164 --
include/linux/drbd_tag_magic.h | 84 -
include/linux/genl_magic_func.h | 422 ++++
include/linux/genl_magic_struct.h | 277 +++
include/linux/idr.h | 11 +
include/linux/lru_cache.h | 67 +-
lib/lru_cache.c | 359 ++--
30 files changed, 12115 insertions(+), 8630 deletions(-)
create mode 100644 drivers/block/drbd/drbd_interval.c
create mode 100644 drivers/block/drbd/drbd_interval.h
create mode 100644 drivers/block/drbd/drbd_nla.c
create mode 100644 drivers/block/drbd/drbd_nla.h
create mode 100644 drivers/block/drbd/drbd_state.c
create mode 100644 drivers/block/drbd/drbd_state.h
create mode 100644 include/linux/drbd_genl.h
create mode 100644 include/linux/drbd_genl_api.h
delete mode 100644 include/linux/drbd_nl.h
delete mode 100644 include/linux/drbd_tag_magic.h
create mode 100644 include/linux/genl_magic_func.h
create mode 100644 include/linux/genl_magic_struct.h
More information about the drbd-dev
mailing list