On Wed, 31 Oct 2012, Greg KH wrote:
> On Wed, Oct 31, 2012 at 02:37:32PM -0500, Alex Elder wrote:
> > On 10/31/2012 02:29 PM, Sage Weil wrote:
> > > On Wed, 31 Oct 2012, Greg KH wrote:
> > >> On Tue, Oct 30, 2012 at 05:37:31PM -0700, Sage Weil wrote:
> > >>> On Tue, 30 Oct 2012, Greg KH wrote:
> > >>>> What stable tree(s) do you want this applied to?
> > >>>
> > >>> Sorry- this series is for 3.6.x.  Thanks!
> > >>
> > >> Why?  It seems that some of these should also go to older kernels, like
> > >> 3.4 and 3.0, right?
> > > 
> > > Yeah.. that's my dilemma.  Alex put together branches in ceph-client.git 
> > > picking out fixes for 3.4 and 3.5.  The problem is that the important 
> > > fixes were extensive patches (restructuring the locking for a whole 
> > > segment of code), so I'm not sure how palatable they are for the stable 
> > > kernels.  They demonstrably fix the bugs, but they are big.  I wanted to 
> > > get these recent fixes into 3.6 stable before figuring out what to do 
> > > about the older kernels.
> > 
> > 9 patches on top of 3.5.4 (I know, 3.5.7 is current).  Most of those
> > will probably be OK, or if really pressed, could be back-ported with
> > a bit more work.
> > 
> > 3.4.9 has a 28 patch series, and I know some of those were not
> > direct bug fixes, they were patches put in place to make the
> > bug fixes apply without risking them becoming new bugs...
> 
> That's ok, and is how it should be done, if they are direct backports of
> patches that are already in Linus's tree.  I'd rather have exact copies,
> and lots of them, than small number of newly created patches.
> 
> > I think if we can get the big series int 3.4 stable it would
> > be preferable.
> 
> Send them on and I'll be glad to review them.

Before I send a huge patch series, fair warning: it's big, 107 patches.  
Shortlog below.  You can peek at the series at

 git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git 
wip-3.4-stable

It's a series of cleanups and small fixes that culminated in a few patches 
resolving the last of the locking problems.  What's not in the series is 
the drivers/block/rbd.c work (~50 patches), and the small amount of new 
functionality that went into net/ceph/ (~19 patches).

Should I send the whole pile along?

sage


Alex Elder (57):
      ceph: osd_client: fix endianness bug in osd_req_encode_op()
      ceph: messenger: use read_partial() in read_partial_message()
      ceph: messenger: update "to" in read_partial() caller
      ceph: messenger: change read_partial() to take "end" arg
      libceph: don't reset kvec in prepare_write_banner()
      ceph: messenger: reset connection kvec caller
      ceph: messenger: send banner in process_connect()
      ceph: drop msgr argument from prepare_write_connect()
      ceph: don't set WRITE_PENDING too early
      ceph: messenger: check prepare_write_connect() result
      ceph: messenger: rework prepare_connect_authorizer()
      ceph: messenger: check return from get_authorizer
      ceph: define ceph_auth_handshake type
      ceph: messenger: reduce args to create_authorizer
      ceph: ensure auth ops are defined before use
      ceph: have get_authorizer methods return pointers
      ceph: use info returned by get_authorizer
      ceph: return pointer from prepare_connect_authorizer()
      ceph: rename prepare_connect_authorizer()
      ceph: add auth buf in prepare_write_connect()
      libceph: osd_client: don't drop reply reference too early
      libceph: eliminate connection state "DEAD"
      libceph: kill bad_proto ceph connection op
      libceph: rename socket callbacks
      libceph: rename kvec_reset and kvec_add functions
      libceph: embed ceph messenger structure in ceph_client
      libceph: start separating connection flags from state
      libceph: start tracking connection socket state
      libceph: provide osd number when creating osd
      libceph: set CLOSED state bit in con_init
      libceph: embed ceph connection structure in mon_client
      libceph: init monitor connection when opening
      libceph: fully initialize connection in con_init()
      libceph: tweak ceph_alloc_msg()
      libceph: have messages point to their connection
      libceph: have messages take a connection reference
      libceph: make ceph_con_revoke() a msg operation
      libceph: make ceph_con_revoke_message() a msg op
      libceph: encapsulate out message data setup
      libceph: encapsulate advancing msg page
      libceph: don't mark footer complete before it is
      libceph: move init_bio_*() functions up
      libceph: move init of bio_iter
      libceph: don't use bio_iter as a flag
      libceph: SOCK_CLOSED is a flag, not a state
      libceph: don't change socket state on sock event
      libceph: just set SOCK_CLOSED when state changes
      libceph: don't touch con state in con_close_socket()
      libceph: clear CONNECTING in ceph_con_close()
      libceph: clear NEGOTIATING when done
      libceph: define and use an explicit CONNECTED state
      libceph: separate banner and connect writes
      libceph: distinguish two phases of connect sequence
      libceph: small changes to messenger.c
      libceph: add some fine ASCII art
      libceph: only kunmap kmapped pages
      rbd: reset BACKOFF if unable to re-queue

Dan Carpenter (1):
      libceph: fix NULL dereference in reset_connection()

Guanjun He (1):
      libceph: prevent the race of incoming work during teardown

Jim Schutt (1):
      libceph: avoid truncation due to racing banners

Sage Weil (42):
      crush: clean up types, const-ness
      crush: adjust local retry threshold
      crush: be more tolerant of nonsensical crush maps
      crush: fix tree node weight lookup
      crush: fix memory leak when destroying tree buckets
      libceph: avoid unregistering osd request when not registered
      libceph: fix pg_temp updates
      libceph: use con get/put ops from osd_client
      libceph: flush msgr queue during mon_client shutdown
      libceph: fix messenger retry
      libceph: drop connection refcounting for mon_client
      libceph: transition socket state prior to actual connect
      libceph: use con get/put methods
      libceph: drop ceph_con_get/put helpers and nref member
      libceph: set peer name on con_open, not init
      libceph: initialize mon_client con only once
      libceph: allow sock transition from CONNECTING to CLOSED
      libceph: initialize msgpool message types
      libceph: report socket read/write error message
      libceph: fix mutex coverage for ceph_con_close
      libceph: resubmit linger ops when pg mapping changes
      libceph: (re)initialize bio_iter on start of message receive
      libceph: protect ceph_con_open() with mutex
      libceph: reset connection retry on successfully negotiation
      libceph: fix fault locking; close socket on lossy fault
      libceph: move msgr clear_standby under con mutex protection
      libceph: move ceph_con_send() closed check under the con mutex
      libceph: drop gratuitous socket close calls in con_work
      libceph: close socket directly from ceph_con_close()
      libceph: drop unnecessary CLOSED check in socket state change callback
      libceph: replace connection state bits with states
      libceph: clean up con flags
      libceph: clear all flags on con_close
      libceph: fix handling of immediate socket connect failure
      libceph: revoke mon_client messages on session restart
      libceph: verify state after retaking con lock after dispatch
      libceph: avoid dropping con mutex before fault
      libceph: change ceph_con_in_msg_alloc convention to be less weird
      libceph: recheck con state after allocating incoming message
      libceph: delay debugfs initialization until we learn global_id
      libceph: avoid NULL kref_put when osd reset races with alloc_msg
      libceph: check for invalid mapping

Sylvain Munaut (1):
      libceph: fix crypto key null deref, memory leak

Xi Wang (3):
      libceph: fix overflow in __decode_pool_names()
      libceph: fix overflow in osdmap_decode()
      libceph: fix overflow in osdmap_apply_incremental()

Yan, Zheng (1):
      rbd: Clear ceph_msg->bio_iter for retransmitted message

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to