~ubuntu-branches/ubuntu/wily/linux-ti-omap4/wily

« back to all changes in this revision

Viewing changes to net/ceph/osd_client.c

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati, Ubuntu: 3.5.0-20.31
  • Date: 2012-12-06 14:14:29 UTC
  • Revision ID: package-import@ubuntu.com-20121206141429-3f6mmypbjdmnmm2t
Tags: 3.5.0-216.23
* Release Tracking Bug
  - LP: #1087216

[ Paolo Pisati ]

* rebased on Ubuntu-3.5.0-20.31

[ Ubuntu: 3.5.0-20.31 ]

* Release Tracking Bug
  - LP: #1086759
* SAUCE: i915_hsw: Include #define I915_PARAM_HAS_WAIT_TIMEOUT
  - LP: #1085245
* SAUCE: i915_hsw: Include #define DRM_I915_GEM_CONTEXT_[CREATE,DESTROY]
  - LP: #1085245
* SAUCE: i915_hsw: drm/i915: add register read IOCTL
  - LP: #1085245
* SAUCE: i915_hsw: Include #define i915_execbuffer2_[set,get]_context_id
  - LP: #1085245
* SAUCE: i915_hsw: Include #define I915_GEM_PARAM_HAS_SEMAPHORES
  - LP: #1085245
* SAUCE: i915_hsw: Include #define I915_PARAM_HAS_SECURE_BATCHES
  - LP: #1085245
* SAUCE: i915_hsw: drm/i915: call intel_enable_gtt
  - LP: #1085245
* SAUCE: i915_hsw: drm: add helper to sort panels to the head of the
  connector list
  - LP: #1085245
* SAUCE: i915_hsw: drm: extract dp link bw helpers
  - LP: #1085245
* SAUCE: i915_hsw: drm: extract drm_dp_max_lane_count helper
  - LP: #1085245
* SAUCE: i915_hsw: drm: dp helper: extract drm_dp_channel_eq_ok
  - LP: #1085245
* SAUCE: i915_hsw: drm: extract helpers to compute new training values
  from sink request
  - LP: #1085245
* SAUCE: i915_hsw: drm: dp helper: extract drm_dp_clock_recovery_ok
  - LP: #1085245
* SAUCE: i915_hsw: Include #define I915_PARAM_HAS_PRIME_VMAP_FLUSH
  - LP: #1085245
* SAUCE: i915_hsw: Provide an ubuntu/i915 driver for Haswell graphics
  - LP: #1085245
* SAUCE: i915_hsw: Revert "drm: Make the .mode_fixup() operations mode
  argument a const pointer" for ubuntu/i915 driver
  - LP: #1085245
* SAUCE: i915_hsw: Rename ubuntu/i915 driver i915_hsw
  - LP: #1085245
* SAUCE: i915_hsw: Only support Haswell with ubuntu/i915 driver
  - LP: #1085245
* SAUCE: i915_hsw: Include #define DRM_I915_GEM_WAIT
  - LP: #1085245
* SAUCE: i915_hsw: drm: extract dp link train delay functions from radeon
  - LP: #1085245
* SAUCE: i915_hsw: drm/dp: Update DPCD defines
  - LP: #1085245
* SAUCE: i915_hsw: Update intel_ips.h file location
  - LP: #1085245
* SAUCE: i915_hsw: Provide updated drm_mm.h and drm_mm.c for ubuntu/i915
  - LP: #1085245
* SAUCE: i915_hsw: drm/i915: Replace the array of pages with a
  scatterlist
  - LP: #1085245
* SAUCE: i915_hsw: drm/i915: Replace the array of pages with a
  scatterlist
  - LP: #1085245
* SAUCE: i915_hsw: drm/i915: Stop using AGP layer for GEN6+
  - LP: #1085245
* SAUCE: i915_hsw: Add i915_hsw_gpu_*() calls for ubuntu/i915
  - LP: #1085245
* i915_hsw: [Config] Enable CONFIG_DRM_I915_HSW=m
  - LP: #1085245
* SAUCE: drm/i915: fix hsw_fdi_link_train "retry" code
  - LP: #1085245
* SAUCE: drm/i915: reject modes the LPT FDI receiver can't handle
  - LP: #1085245
* SAUCE: drm/i915: add support for mPHY destination on intel_sbi_{read,
  write}
  - LP: #1085245
* SAUCE: drm/i915: add lpt_init_pch_refclk
  - LP: #1085245
* SAUCE: drm/i915: set the LPT FDI RX polarity reversal bit when needed
  - LP: #1085245
* Revert "SAUCE: SECCOMP: audit: always report seccomp violations"
  - LP: #1079469
* Revert "cgroup: Drop task_lock(parent) on cgroup_fork()"
  - LP: #1084539
* Revert "cgroup: Remove task_lock() from cgroup_post_fork()"
  - LP: #1084539
* Revert "x86/mm: Fix the size calculation of mapping tables"
  - LP: #1084539
* Revert "SUNRPC: Ensure we close the socket on EPIPE errors too..."
  - LP: #1084539
* Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz"
  - LP: #1084539
* Revert "sched: Add missing call to calc_load_exit_idle()"
  - LP: #1084539
* net: fix secpath kmemleak
  - LP: #1065434
* seccomp: forcing auditing of kill condition
  - LP: #1079469
* e1000e: add device IDs for i218
  - LP: #1081796
* bonding: Bonding driver does not consider the gso_max_size/gso_max_segs
  setting of slave devices.
  - LP: #1078184
* mm/hotplug: correctly add new zone to all other nodes' zone lists
  - LP: #1079860
  - CVE-2012-5517
* xen: enable platform-pci only in a Xen guest
  - LP: #1081054
* udf: fix retun value on error path in udf_load_logicalvol
  - LP: #1084539
* usb: gadget: at91_udc: fix dt support
  - LP: #1084539
* netfilter: nf_nat_sip: fix incorrect handling of EBUSY for RTCP
  expectation
  - LP: #1084539
* netfilter: nf_nat_sip: fix via header translation with multiple
  parameters
  - LP: #1084539
* netfilter: nf_ct_expect: fix possible access to uninitialized timer
  - LP: #1084539
* netfilter: xt_limit: have r->cost != 0 case work
  - LP: #1084539
* netfilter: nf_conntrack: fix racy timer handling with reliable events
  - LP: #1084539
* netfilter: nfnetlink_log: fix NLA_PUT macro removal bug
  - LP: #1084539
* MIPS: ath79: Fix CPU/DDR frequency calculation for SRIF PLLs
  - LP: #1084539
* jbd: Fix assertion failure in commit code due to lacking transaction
  credits
  - LP: #1084539
* nfsd4: fix nfs4 stateid leak
  - LP: #1084539
* NFSD: pass null terminated buf to kstrtouint()
  - LP: #1084539
* mfd: 88pm860x: Move _IO resources out of ioport_ioresource
  - LP: #1084539
* target: support zero allocation length in INQUIRY
  - LP: #1084539
* target: fix truncation of mode data, support zero allocation length
  - LP: #1084539
* target: fix return code in target_core_init_configfs error path
  - LP: #1084539
* powerpc/eeh: Lock module while handling EEH event
  - LP: #1084539
* SUNRPC: Ensure that the TCP socket is closed when in CLOSE_WAIT
  - LP: #1084539
* ext4: remove erroneous ext4_superblock_csum_set() in update_backups()
  - LP: #1084539
* block: remove the duplicated setting for congestion_threshold
  - LP: #1084539
* block: lift the initial queue bypass mode on blk_register_queue()
  instead of blk_init_allocated_queue()
  - LP: #1084539
* block: fix request_queue->flags initialization
  - LP: #1084539
* viafb: don't touch clock state on OLPC XO-1.5
  - LP: #1084539
* qla2xxx: Fix endianness of task management response code
  - LP: #1084539
* iscsi-target: Correctly set 0xffffffff field within ISCSI_OP_REJECT PDU
  - LP: #1084539
* drm/i915: use adjusted_mode instead of mode for checking the 6bpc force
  flag
  - LP: #1084539
* kbuild: Do not package /boot and /lib in make tar-pkg
  - LP: #1084539
* module: taint kernel when lve module is loaded
  - LP: #1084539
* mtd: nand: allow NAND_NO_SUBPAGE_WRITE to be set from driver
  - LP: #1084539
* nfsd4: don't pin clientids to pseudoflavors
  - LP: #1084539
* lockd: use rpc client's cl_nodename for id encoding
  - LP: #1084539
* pnfsblock: fix partial page buffer wirte
  - LP: #1084539
* pnfsblock: fix non-aligned DIO read
  - LP: #1084539
* pnfsblock: fix non-aligned DIO write
  - LP: #1084539
* target/file: Re-enable optional fd_buffered_io=1 operation
  - LP: #1084539
* iscsi-target: Add explicit set of cache_dynamic_acls=1 for TPG
  demo-mode
  - LP: #1084539
* iscsit: remove incorrect unlock in iscsit_build_sendtargets_resp
  - LP: #1084539
* iscsi-target: Bump defaults for nopin_timeout + nopin_response_timeout
  values
  - LP: #1084539
* drivers/dma/dmaengine.c: lower the priority of 'failed to get' dma
  channel message
  - LP: #1084539
* ath9k: use ieee80211_free_txskb
  - LP: #1084539
* ALSA: hda - Fix hang caused by race during suspend.
  - LP: #1084539
* ACPI: EC: Make the GPE storm threshold a module parameter
  - LP: #1084539
* ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop
  - LP: #1084539
* mmc: sdhci-s3c: fix the wrong number of max bus clocks
  - LP: #1084539
* mac80211: use ieee80211_free_txskb to fix possible skb leaks
  - LP: #1084539
* ARM: OMAP: counter: add locking to read_persistent_clock
  - LP: #1084539
* ARM: vfp: fix saving d16-d31 vfp registers on v6+ kernels
  - LP: #1084539
* scsi_debug: Fix off-by-one bug when unmapping region
  - LP: #1084539
* storvsc: Account for in-transit packets in the RESET path
  - LP: #1084539
* firewire: cdev: fix user memory corruption (i386 userland on amd64
  kernel)
  - LP: #1084539
* timers: Fix endless looping between cascade() and internal_add_timer()
  - LP: #1084539
* timekeeping: Cast raw_interval to u64 to avoid shift overflow
  - LP: #1084539
* video/udlfb: fix line counting in fb_write
  - LP: #1084539
* tmpfs,ceph,gfs2,isofs,reiserfs,xfs: fix fh_len checking
  - LP: #1084539
* ALSA: hda - Add missing hda_gen_spec to struct via_spec
  - LP: #1084539
* ALSA: hda - Fix memory leaks at error path in patch_cirrus.c
  - LP: #1084539
* autofs4 - fix reset pending flag on mount fail
  - LP: #1084539
* pktgen: fix crash when generating IPv6 packets
  - LP: #1084539
* md/raid10: use correct limit variable
  - LP: #1084539
* mips,kgdb: fix recursive page fault with CONFIG_KPROBES
  - LP: #1084539
* kdb,vt_console: Fix missed data due to pager overruns
  - LP: #1084539
* xen/bootup: allow read_tscp call for Xen PV guests.
  - LP: #1084539
* xen/bootup: allow {read|write}_cr8 pvops call.
  - LP: #1084539
* libceph: eliminate connection state "DEAD"
  - LP: #1084539
* libceph: kill bad_proto ceph connection op
  - LP: #1084539
* libceph: rename socket callbacks
  - LP: #1084539
* libceph: rename kvec_reset and kvec_add functions
  - LP: #1084539
* libceph: embed ceph messenger structure in ceph_client
  - LP: #1084539
* libceph: start separating connection flags from state
  - LP: #1084539
* libceph: start tracking connection socket state
  - LP: #1084539
* libceph: provide osd number when creating osd
  - LP: #1084539
* libceph: set CLOSED state bit in con_init
  - LP: #1084539
* libceph: embed ceph connection structure in mon_client
  - LP: #1084539
* libceph: drop connection refcounting for mon_client
  - LP: #1084539
* libceph: init monitor connection when opening
  - LP: #1084539
* libceph: fully initialize connection in con_init()
  - LP: #1084539
* libceph: tweak ceph_alloc_msg()
  - LP: #1084539
* libceph: have messages point to their connection
  - LP: #1084539
* libceph: have messages take a connection reference
  - LP: #1084539
* libceph: make ceph_con_revoke() a msg operation
  - LP: #1084539
* libceph: make ceph_con_revoke_message() a msg op
  - LP: #1084539
* libceph: fix overflow in __decode_pool_names()
  - LP: #1084539
* libceph: fix overflow in osdmap_decode()
  - LP: #1084539
* libceph: fix overflow in osdmap_apply_incremental()
  - LP: #1084539
* libceph: transition socket state prior to actual connect
  - LP: #1084539
* libceph: fix NULL dereference in reset_connection()
  - LP: #1084539
* libceph: use con get/put methods
  - LP: #1084539
* libceph: drop ceph_con_get/put helpers and nref member
  - LP: #1084539
* libceph: encapsulate out message data setup
  - LP: #1084539
* libceph: encapsulate advancing msg page
  - LP: #1084539
* libceph: don't mark footer complete before it is
  - LP: #1084539
* libceph: move init_bio_*() functions up
  - LP: #1084539
* libceph: move init of bio_iter
  - LP: #1084539
* libceph: don't use bio_iter as a flag
  - LP: #1084539
* libceph: SOCK_CLOSED is a flag, not a state
  - LP: #1084539
* libceph: don't change socket state on sock event
  - LP: #1084539
* libceph: just set SOCK_CLOSED when state changes
  - LP: #1084539
* libceph: don't touch con state in con_close_socket()
  - LP: #1084539
* libceph: clear CONNECTING in ceph_con_close()
  - LP: #1084539
* libceph: clear NEGOTIATING when done
  - LP: #1084539
* libceph: define and use an explicit CONNECTED state
  - LP: #1084539
* libceph: separate banner and connect writes
  - LP: #1084539
* libceph: distinguish two phases of connect sequence
  - LP: #1084539
* libceph: small changes to messenger.c
  - LP: #1084539
* libceph: add some fine ASCII art
  - LP: #1084539
* libceph: set peer name on con_open, not init
  - LP: #1084539
* libceph: initialize mon_client con only once
  - LP: #1084539
* libceph: allow sock transition from CONNECTING to CLOSED
  - LP: #1084539
* libceph: initialize msgpool message types
  - LP: #1084539
* libceph: prevent the race of incoming work during teardown
  - LP: #1084539
* libceph: report socket read/write error message
  - LP: #1084539
* libceph: fix mutex coverage for ceph_con_close
  - LP: #1084539
* libceph: resubmit linger ops when pg mapping changes
  - LP: #1084539
* libceph: (re)initialize bio_iter on start of message receive
  - LP: #1084539
* libceph: protect ceph_con_open() with mutex
  - LP: #1084539
* libceph: reset connection retry on successfully negotiation
  - LP: #1084539
* libceph: fix fault locking; close socket on lossy fault
  - LP: #1084539
* libceph: move msgr clear_standby under con mutex protection
  - LP: #1084539
* libceph: move ceph_con_send() closed check under the con mutex
  - LP: #1084539
* libceph: drop gratuitous socket close calls in con_work
  - LP: #1084539
* libceph: close socket directly from ceph_con_close()
  - LP: #1084539
* libceph: drop unnecessary CLOSED check in socket state change callback
  - LP: #1084539
* libceph: replace connection state bits with states
  - LP: #1084539
* libceph: clean up con flags
  - LP: #1084539
* libceph: clear all flags on con_close
  - LP: #1084539
* libceph: fix handling of immediate socket connect failure
  - LP: #1084539
* libceph: revoke mon_client messages on session restart
  - LP: #1084539
* libceph: verify state after retaking con lock after dispatch
  - LP: #1084539
* libceph: avoid dropping con mutex before fault
  - LP: #1084539
* libceph: change ceph_con_in_msg_alloc convention to be less weird
  - LP: #1084539
* libceph: recheck con state after allocating incoming message
  - LP: #1084539
* libceph: fix crypto key null deref, memory leak
  - LP: #1084539
* libceph: delay debugfs initialization until we learn global_id
  - LP: #1084539
* libceph: avoid truncation due to racing banners
  - LP: #1084539
* libceph: only kunmap kmapped pages
  - LP: #1084539
* rbd: reset BACKOFF if unable to re-queue
  - LP: #1084539
* libceph: avoid NULL kref_put when osd reset races with alloc_msg
  - LP: #1084539
* ceph: fix dentry reference leak in encode_fh()
  - LP: #1084539
* ceph: Fix oops when handling mdsmap that decreases max_mds
  - LP: #1084539
* libceph: check for invalid mapping
  - LP: #1084539
* ceph: avoid 32-bit page index overflow
  - LP: #1084539
* ASoC: wm2200: Use rev A register patches on rev B
  - LP: #1084539
* ASoC: wm2200: Fix non-inverted OUT2 mute control
  - LP: #1084539
* drm/i915: remove useless BUG_ON which caused a regression in 3.5.
  - LP: #1084539
* USB: Enable LPM after a failed probe.
  - LP: #1084539
* usb: Don't enable LPM if the exit latency is zero.
  - LP: #1084539
* usb: Send Set SEL before enabling parent U1/U2 timeout.
  - LP: #1084539
* ASoC: fsi: don't reschedule DMA from an atomic context
  - LP: #1084539
* drm/i915: Set guardband clipping workaround bit in the right register.
  - LP: #1084539
* pcmcia: sharpsl: don't discard sharpsl_pcmcia_ops
  - LP: #1084539
* hwmon: (coretemp) Add support for Atom CE4110/4150/4170
  - LP: #1084539
* ALSA: hda - Fix registration race of VGA switcheroo
  - LP: #1084539
* usb: dwc3: gadget: fix 'endpoint always busy' bug
  - LP: #1084539
* usb: musb: am35xx: drop spurious unplugging a device
  - LP: #1084539
* drm/radeon: Don't destroy I2C Bus Rec in radeon_ext_tmds_enc_destroy().
  - LP: #1084539
* ALSA: hda - Always check array bounds in alc_get_line_out_pfx
  - LP: #1084539
* NLM: nlm_lookup_file() may return NLMv4-specific error codes
  - LP: #1084539
* x86: Exclude E820_RESERVED regions and memory holes above 4 GB from
  direct mapping.
  - LP: #1084539
* SUNRPC: Prevent kernel stack corruption on long values of flush
  - LP: #1084539
* USB: cdc-acm: fix pipe type of write endpoint
  - LP: #1084539
* usb: acm: fix the computation of the number of data bits
  - LP: #1084539
* usb: host: xhci: New system added for Compliance Mode Patch on
  SN65LVPE502CP
  - LP: #1084539
* USB: option: blacklist net interface on ZTE devices
  - LP: #1084539
* USB: option: add more ZTE devices
  - LP: #1084539
* ext4: race-condition protection for
  ext4_convert_unwritten_extents_endio
  - LP: #1084539
* ext4: fix metadata checksum calculation for the superblock
  - LP: #1084539
* nohz: Fix idle ticks in cpu summary line of /proc/stat
  - LP: #1084539
* ring-buffer: Check for uninitialized cpu buffer before resizing
  - LP: #1084539
* Bluetooth: SMP: Fix setting unknown auth_req bits
  - LP: #1084539
* oprofile, x86: Fix wrapping bug in op_x86_get_ctrl()
  - LP: #1084539
* cfg80211/mac80211: avoid state mishmash on deauth
  - LP: #1084539
* mac80211: check if key has TKIP type before updating IV
  - LP: #1084539
* mac80211: use ieee80211_free_txskb in a few more places
  - LP: #1084539
* bcma: fix unregistration of cores
  - LP: #1084539
* net/wireless: ipw2200: Fix panic occurring in
  ipw_handle_promiscuous_tx()
  - LP: #1084539
* iwlwifi: fix 6000 series channel switch command
  - LP: #1084539
* cgroup: notify_on_release may not be triggered in some cases
  - LP: #1084539
* dt: Document: correct tegra20/30 pinctrl slew-rate name
  - LP: #1084539
* pinctrl: tegra: set low power mode bank width to 2
  - LP: #1084539
* pinctrl: tegra: correct bank for pingroup and drv pingroup
  - LP: #1084539
* s390: fix linker script for 31 bit builds
  - LP: #1084539
* pinctrl: remove mutex lock in groups show
  - LP: #1084539
* xen/x86: don't corrupt %eip when returning from a signal handler
  - LP: #1084539
* ALSA: hda - Fix silent headphone output from Toshiba P200
  - LP: #1084539
* ext4: Checksum the block bitmap properly with bigalloc enabled
  - LP: #1084539
* ARM: 7559/1: smp: switch away from the idmap before updating
  init_mm.mm_count
  - LP: #1084539
* usb hub: send clear_tt_buffer_complete events when canceling TT clear
  work
  - LP: #1084539
* staging: comedi: amplc_pc236: fix invalid register access during detach
  - LP: #1084539
* Staging: android: binder: Fix memory leak on thread/process exit
  - LP: #1084539
* Staging: android: binder: Allow using highmem for binder buffers
  - LP: #1084539
* ext4: Avoid underflow in ext4_trim_fs()
  - LP: #1084539
* cpufreq / powernow-k8: Remove usage of smp_processor_id() in
  preemptible code
  - LP: #1084539
* extcon: Unregister compat class at module unload to fix oops
  - LP: #1084539
* extcon: unregister compat link on cleanup
  - LP: #1084539
* pinctrl: fix missing unlock on error in pinctrl_groups_show()
  - LP: #1084539
* arch/tile: avoid generating .eh_frame information in modules
  - LP: #1084539
* drm/radeon: add some new SI PCI ids
  - LP: #1084539
* drm/radeon: add error output if VM CS fails on cayman
  - LP: #1084539
* xhci: endianness xhci_calculate_intel_u2_timeout
  - LP: #1084539
* xhci: fix integer overflow
  - LP: #1084539
* dmaengine: imx-dma: fix missing unlock on error in imxdma_xfer_desc()
  - LP: #1084539
* x86-64: Fix page table accounting
  - LP: #1084539
* dmaengine: sirf: fix a typo in dma_prep_interleaved
  - LP: #1084539
* dmaengine: sirf: fix a typo in moving running dma_desc to active queue
  - LP: #1084539
* amd64_edac:__amd64_set_scrub_rate(): avoid overindexing scrubrates[]
  - LP: #1084539
* SUNRPC: Clear the connect flag when socket state is TCP_CLOSE_WAIT
  - LP: #1084539
* SUNRPC: Prevent races in xs_abort_connection()
  - LP: #1084539
* SUNRPC: Get rid of the xs_error_report socket callback
  - LP: #1084539
* iommu/tegra: smmu: Fix deadly typo
  - LP: #1084539
* ARM: at91/tc: fix typo in the DT document
  - LP: #1084539
* ARM: at91: at91sam9g10: fix SOC type detection
  - LP: #1084539
* ARM: at91/i2c: change id to let i2c-gpio work
  - LP: #1084539
* b43: Fix oops on unload when firmware not found
  - LP: #1084539
* USB: serial: Fix memory leak in sierra_release()
  - LP: #1084539
* x86, mm: Trim memory in memblock to be page aligned
  - LP: #1084539
* x86, mm: Use memblock memory loop instead of e820_RAM
  - LP: #1084539
* usb-storage: add unusual_devs entry for Casio EX-N1 digital camera
  - LP: #1084539
* Drivers: hv: Cleanup error handling in vmbus_open()
  - LP: #1084539
* sysfs: sysfs_pathname/sysfs_add_one: Use strlcat() instead of strcat()
  - LP: #1084539
* vhost: fix mergeable bufs on BE hosts
  - LP: #1084539
* USB: metro-usb: fix io after disconnect
  - LP: #1084539
* USB: whiteheat: fix memory leak in error path
  - LP: #1084539
* USB: quatech2: fix memory leak in error path
  - LP: #1084539
* USB: quatech2: fix io after disconnect
  - LP: #1084539
* USB: opticon: fix DMA from stack
  - LP: #1084539
* USB: opticon: fix memory leak in error path
  - LP: #1084539
* USB: mct_u232: fix broken close
  - LP: #1084539
* USB: sierra: fix memory leak in attach error path
  - LP: #1084539
* USB: sierra: fix memory leak in probe error path
  - LP: #1084539
* USB: mos7840: fix urb leak at release
  - LP: #1084539
* USB: mos7840: fix port-device leak in error path
  - LP: #1084539
* USB: mos7840: remove NULL-urb submission
  - LP: #1084539
* USB: mos7840: remove invalid disconnect handling
  - LP: #1084539
* ehci: fix Lucid nohandoff pci quirk to be more generic with BIOS
  versions
  - LP: #1084539
* ehci: Add yet-another Lucid nohandoff pci quirk
  - LP: #1084539
* xhci: Fix potential NULL ptr deref in command cancellation.
  - LP: #1084539
* freezer: exec should clear PF_NOFREEZE along with PF_KTHREAD
  - LP: #1084539
* mm: fix XFS oops due to dirty pages without buffers on s390
  - LP: #1084539
* genalloc: stop crashing the system when destroying a pool
  - LP: #1084539
* drivers/rtc/rtc-imxdi.c: add missing spin lock initialization
  - LP: #1084539
* gen_init_cpio: avoid stack overflow when expanding
  - LP: #1084539
* fs/compat_ioctl.c: VIDEO_SET_SPU_PALETTE missing error check
  - LP: #1084539
* qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan
  - LP: #1084539
* efi: Defer freeing boot services memory until after ACPI init
  - LP: #1084539
* x86: efi: Turn off efi_enabled after setup on mixed fw/kernel
  - LP: #1082059, #1084539
* target: Re-add explict zeroing of INQUIRY bounce buffer memory
  - LP: #1084539
* ARM: 7566/1: vfp: fix save and restore when running on pre-VFPv3 and
  CONFIG_VFPv3 set
  - LP: #1084539
* libceph: drop declaration of ceph_con_get()
  - LP: #1084539
* x86, mm: Find_early_table_space based on ranges that are actually being
  mapped
  - LP: #1084539
* x86, mm: Undo incorrect revert in arch/x86/mm/init.c
  - LP: #1084539
* Linux 3.5.7.1
  - LP: #1084539
* ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to
  speaker
  - LP: #1076840
* Bluetooth: ath3k: Add support for VAIO VPCEH [0489:e027]
  - LP: #898826
* i915_hsw: drm/i915: Reserve ioctl numbers for set/get_caching
  - LP: #1085245
* i915_hsw: drm: Export drm_probe_ddc()
  - LP: #1085245
* i915_hsw: drm: remove the raw_edid field from struct drm_display_info
  - LP: #1085245
* i915_hsw: drm/i915: fix hsw uncached pte
  - LP: #1085245
* i915_hsw: drm/fb-helper: delay hotplug handling when partially bound
  - LP: #1085245
* i915_hsw: drm/fb helper: don't call drm_crtc_helper_set_config
  - LP: #1085245
* i915_hsw: drm/fb-helper: don't clobber output routing in setup_crtcs
  - LP: #1085245
* i915_hsw: drm/fb helper: don't call drm_helper_connector_dpms directly
  - LP: #1085245
* i915_hsw: drm/edid: Fix potential memory leak in edid_load()
  - LP: #1085245

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
                op == CEPH_OSD_OP_WRITE);
53
53
}
54
54
 
55
 
void ceph_calc_raw_layout(struct ceph_osd_client *osdc,
 
55
int ceph_calc_raw_layout(struct ceph_osd_client *osdc,
56
56
                        struct ceph_file_layout *layout,
57
57
                        u64 snapid,
58
58
                        u64 off, u64 *plen, u64 *bno,
62
62
        struct ceph_osd_request_head *reqhead = req->r_request->front.iov_base;
63
63
        u64 orig_len = *plen;
64
64
        u64 objoff, objlen;    /* extent in object */
 
65
        int r;
65
66
 
66
67
        reqhead->snapid = cpu_to_le64(snapid);
67
68
 
68
69
        /* object extent? */
69
 
        ceph_calc_file_object_mapping(layout, off, plen, bno,
70
 
                                      &objoff, &objlen);
 
70
        r = ceph_calc_file_object_mapping(layout, off, plen, bno,
 
71
                                          &objoff, &objlen);
 
72
        if (r < 0)
 
73
                return r;
71
74
        if (*plen < orig_len)
72
75
                dout(" skipping last %llu, final file extent %llu~%llu\n",
73
76
                     orig_len - *plen, off, *plen);
83
86
 
84
87
        dout("calc_layout bno=%llx %llu~%llu (%d pages)\n",
85
88
             *bno, objoff, objlen, req->r_num_pages);
86
 
 
 
89
        return 0;
87
90
}
88
91
EXPORT_SYMBOL(ceph_calc_raw_layout);
89
92
 
112
115
 *
113
116
 * fill osd op in request message.
114
117
 */
115
 
static void calc_layout(struct ceph_osd_client *osdc,
116
 
                        struct ceph_vino vino,
117
 
                        struct ceph_file_layout *layout,
118
 
                        u64 off, u64 *plen,
119
 
                        struct ceph_osd_request *req,
120
 
                        struct ceph_osd_req_op *op)
 
118
static int calc_layout(struct ceph_osd_client *osdc,
 
119
                       struct ceph_vino vino,
 
120
                       struct ceph_file_layout *layout,
 
121
                       u64 off, u64 *plen,
 
122
                       struct ceph_osd_request *req,
 
123
                       struct ceph_osd_req_op *op)
121
124
{
122
125
        u64 bno;
 
126
        int r;
123
127
 
124
 
        ceph_calc_raw_layout(osdc, layout, vino.snap, off,
125
 
                             plen, &bno, req, op);
 
128
        r = ceph_calc_raw_layout(osdc, layout, vino.snap, off,
 
129
                                 plen, &bno, req, op);
 
130
        if (r < 0)
 
131
                return r;
126
132
 
127
133
        snprintf(req->r_oid, sizeof(req->r_oid), "%llx.%08llx", vino.ino, bno);
128
134
        req->r_oid_len = strlen(req->r_oid);
 
135
 
 
136
        return r;
129
137
}
130
138
 
131
139
/*
140
148
        if (req->r_request)
141
149
                ceph_msg_put(req->r_request);
142
150
        if (req->r_con_filling_msg) {
143
 
                dout("release_request revoking pages %p from con %p\n",
 
151
                dout("%s revoking pages %p from con %p\n", __func__,
144
152
                     req->r_pages, req->r_con_filling_msg);
145
 
                ceph_con_revoke_message(req->r_con_filling_msg,
146
 
                                      req->r_reply);
 
153
                ceph_msg_revoke_incoming(req->r_reply);
147
154
                req->r_con_filling_msg->ops->put(req->r_con_filling_msg);
148
155
        }
149
156
        if (req->r_reply)
243
250
                }
244
251
                ceph_pagelist_init(req->r_trail);
245
252
        }
 
253
 
246
254
        /* create request message; allow space for oid */
247
255
        msg_size += MAX_OBJ_NAME_SIZE;
248
256
        if (snapc)
256
264
                return NULL;
257
265
        }
258
266
 
259
 
        msg->hdr.type = cpu_to_le16(CEPH_MSG_OSD_OP);
260
267
        memset(msg->front.iov_base, 0, msg->front.iov_len);
261
268
 
262
269
        req->r_request = msg;
624
631
/*
625
632
 * Track open sessions with osds.
626
633
 */
627
 
static struct ceph_osd *create_osd(struct ceph_osd_client *osdc)
 
634
static struct ceph_osd *create_osd(struct ceph_osd_client *osdc, int onum)
628
635
{
629
636
        struct ceph_osd *osd;
630
637
 
634
641
 
635
642
        atomic_set(&osd->o_ref, 1);
636
643
        osd->o_osdc = osdc;
 
644
        osd->o_osd = onum;
637
645
        INIT_LIST_HEAD(&osd->o_requests);
638
646
        INIT_LIST_HEAD(&osd->o_linger_requests);
639
647
        INIT_LIST_HEAD(&osd->o_osd_lru);
640
648
        osd->o_incarnation = 1;
641
649
 
642
 
        ceph_con_init(osdc->client->msgr, &osd->o_con);
643
 
        osd->o_con.private = osd;
644
 
        osd->o_con.ops = &osd_con_ops;
645
 
        osd->o_con.peer_name.type = CEPH_ENTITY_TYPE_OSD;
 
650
        ceph_con_init(&osd->o_con, osd, &osd_con_ops, &osdc->client->msgr);
646
651
 
647
652
        INIT_LIST_HEAD(&osd->o_keepalive_item);
648
653
        return osd;
752
757
                ret = -EAGAIN;
753
758
        } else {
754
759
                ceph_con_close(&osd->o_con);
755
 
                ceph_con_open(&osd->o_con, &osdc->osdmap->osd_addr[osd->o_osd]);
 
760
                ceph_con_open(&osd->o_con, CEPH_ENTITY_TYPE_OSD, osd->o_osd,
 
761
                              &osdc->osdmap->osd_addr[osd->o_osd]);
756
762
                osd->o_incarnation++;
757
763
        }
758
764
        return ret;
853
859
 
854
860
        if (req->r_osd) {
855
861
                /* make sure the original request isn't in flight. */
856
 
                ceph_con_revoke(&req->r_osd->o_con, req->r_request);
 
862
                ceph_msg_revoke(req->r_request);
857
863
 
858
864
                list_del_init(&req->r_osd_item);
859
865
                if (list_empty(&req->r_osd->o_requests) &&
880
886
static void __cancel_request(struct ceph_osd_request *req)
881
887
{
882
888
        if (req->r_sent && req->r_osd) {
883
 
                ceph_con_revoke(&req->r_osd->o_con, req->r_request);
 
889
                ceph_msg_revoke(req->r_request);
884
890
                req->r_sent = 0;
885
891
        }
886
892
}
890
896
{
891
897
        dout("__register_linger_request %p\n", req);
892
898
        list_add_tail(&req->r_linger_item, &osdc->req_linger);
893
 
        list_add_tail(&req->r_linger_osd, &req->r_osd->o_linger_requests);
 
899
        if (req->r_osd)
 
900
                list_add_tail(&req->r_linger_osd,
 
901
                              &req->r_osd->o_linger_requests);
894
902
}
895
903
 
896
904
static void __unregister_linger_request(struct ceph_osd_client *osdc,
998
1006
        req->r_osd = __lookup_osd(osdc, o);
999
1007
        if (!req->r_osd && o >= 0) {
1000
1008
                err = -ENOMEM;
1001
 
                req->r_osd = create_osd(osdc);
 
1009
                req->r_osd = create_osd(osdc, o);
1002
1010
                if (!req->r_osd) {
1003
1011
                        list_move(&req->r_req_lru_item, &osdc->req_notarget);
1004
1012
                        goto out;
1005
1013
                }
1006
1014
 
1007
1015
                dout("map_request osd %p is osd%d\n", req->r_osd, o);
1008
 
                req->r_osd->o_osd = o;
1009
 
                req->r_osd->o_con.peer_name.num = cpu_to_le64(o);
1010
1016
                __insert_osd(osdc, req->r_osd);
1011
1017
 
1012
 
                ceph_con_open(&req->r_osd->o_con, &osdc->osdmap->osd_addr[o]);
 
1018
                ceph_con_open(&req->r_osd->o_con,
 
1019
                              CEPH_ENTITY_TYPE_OSD, o,
 
1020
                              &osdc->osdmap->osd_addr[o]);
1013
1021
        }
1014
1022
 
1015
1023
        if (req->r_osd) {
1304
1312
 
1305
1313
        dout("kick_requests %s\n", force_resend ? " (force resend)" : "");
1306
1314
        mutex_lock(&osdc->request_mutex);
1307
 
        for (p = rb_first(&osdc->requests); p; p = rb_next(p)) {
 
1315
        for (p = rb_first(&osdc->requests); p; ) {
1308
1316
                req = rb_entry(p, struct ceph_osd_request, r_node);
 
1317
                p = rb_next(p);
1309
1318
                err = __map_request(osdc, req, force_resend);
1310
1319
                if (err < 0)
1311
1320
                        continue;  /* error */
1313
1322
                        dout("%p tid %llu maps to no osd\n", req, req->r_tid);
1314
1323
                        needmap++;  /* request a newer map */
1315
1324
                } else if (err > 0) {
1316
 
                        dout("%p tid %llu requeued on osd%d\n", req, req->r_tid,
 
1325
                        if (!req->r_linger) {
 
1326
                                dout("%p tid %llu requeued on osd%d\n", req,
 
1327
                                     req->r_tid,
 
1328
                                     req->r_osd ? req->r_osd->o_osd : -1);
 
1329
                                req->r_flags |= CEPH_OSD_FLAG_RETRY;
 
1330
                        }
 
1331
                }
 
1332
                if (req->r_linger && list_empty(&req->r_linger_item)) {
 
1333
                        /*
 
1334
                         * register as a linger so that we will
 
1335
                         * re-submit below and get a new tid
 
1336
                         */
 
1337
                        dout("%p tid %llu restart on osd%d\n",
 
1338
                             req, req->r_tid,
1317
1339
                             req->r_osd ? req->r_osd->o_osd : -1);
1318
 
                        if (!req->r_linger)
1319
 
                                req->r_flags |= CEPH_OSD_FLAG_RETRY;
 
1340
                        __register_linger_request(osdc, req);
 
1341
                        __unregister_request(osdc, req);
1320
1342
                }
1321
1343
        }
1322
1344
 
1391
1413
                             epoch, maplen);
1392
1414
                        newmap = osdmap_apply_incremental(&p, next,
1393
1415
                                                          osdc->osdmap,
1394
 
                                                          osdc->client->msgr);
 
1416
                                                          &osdc->client->msgr);
1395
1417
                        if (IS_ERR(newmap)) {
1396
1418
                                err = PTR_ERR(newmap);
1397
1419
                                goto bad;
1839
1861
        if (!osdc->req_mempool)
1840
1862
                goto out;
1841
1863
 
1842
 
        err = ceph_msgpool_init(&osdc->msgpool_op, OSD_OP_FRONT_LEN, 10, true,
 
1864
        err = ceph_msgpool_init(&osdc->msgpool_op, CEPH_MSG_OSD_OP,
 
1865
                                OSD_OP_FRONT_LEN, 10, true,
1843
1866
                                "osd_op");
1844
1867
        if (err < 0)
1845
1868
                goto out_mempool;
1846
 
        err = ceph_msgpool_init(&osdc->msgpool_op_reply,
 
1869
        err = ceph_msgpool_init(&osdc->msgpool_op_reply, CEPH_MSG_OSD_OPREPLY,
1847
1870
                                OSD_OPREPLY_FRONT_LEN, 10, true,
1848
1871
                                "osd_op_reply");
1849
1872
        if (err < 0)
2025
2048
        }
2026
2049
 
2027
2050
        if (req->r_con_filling_msg) {
2028
 
                dout("get_reply revoking msg %p from old con %p\n",
 
2051
                dout("%s revoking msg %p from old con %p\n", __func__,
2029
2052
                     req->r_reply, req->r_con_filling_msg);
2030
 
                ceph_con_revoke_message(req->r_con_filling_msg, req->r_reply);
 
2053
                ceph_msg_revoke_incoming(req->r_reply);
2031
2054
                req->r_con_filling_msg->ops->put(req->r_con_filling_msg);
2032
2055
                req->r_con_filling_msg = NULL;
2033
2056
        }
2080
2103
        int type = le16_to_cpu(hdr->type);
2081
2104
        int front = le32_to_cpu(hdr->front_len);
2082
2105
 
 
2106
        *skip = 0;
2083
2107
        switch (type) {
2084
2108
        case CEPH_MSG_OSD_MAP:
2085
2109
        case CEPH_MSG_WATCH_NOTIFY: