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