aboutsummaryrefslogtreecommitdiffstats
path: root/net/ceph/osd_client.c
AgeCommit message (Expand)AuthorFilesLines
2024-02-07libceph: just wait for more data to be available on the socketXiubo Li1-6/+3
2024-02-07libceph: fail sparse-read if the data length doesn't matchXiubo Li1-3/+15
2024-01-15libceph: remove MAX_EXTENTS check for sparse readsXiubo Li1-13/+4
2023-08-24libceph: allow ceph_osdc_new_request to accept a multi-op readJeff Layton1-6/+21
2023-08-24libceph: add CEPH_OSD_OP_ASSERT_VER supportJeff Layton1-0/+5
2023-08-22libceph: add new iov_iter-based ceph_msg_data_type and ceph_osd_data_typeJeff Layton1-0/+27
2023-08-22libceph: add sparse read support to OSD clientJeff Layton1-4/+253
2023-08-22libceph: define struct ceph_sparse_extent and add some helpersJeff Layton1-0/+13
2023-08-22libceph: add spinlock around osd->o_requestsJeff Layton1-0/+5
2023-08-02libceph: fix potential hang in ceph_osdc_notify()Ilya Dryomov1-6/+14
2022-11-18treewide: use get_random_u32_below() instead of deprecated functionJason A. Donenfeld1-1/+1
2022-10-11treewide: use prandom_u32_max() when possible, part 1Jason A. Donenfeld1-1/+1
2022-08-03libceph: clean up ceph_osdc_start_request prototypeJeff Layton1-9/+6
2022-05-18libceph: fix misleading ceph_osdc_cancel_request() commentIlya Dryomov1-2/+7
2022-05-18libceph: fix potential use-after-free on linger ping and resendsIlya Dryomov1-183/+119
2022-04-25libceph: disambiguate cluster/pool full log messageIlya Dryomov1-1/+5
2021-11-08libceph, ceph: move ceph_osdc_copy_from() into cephfs codeLuís Henriques1-51/+9
2021-01-04libceph, ceph: disambiguate ceph_connection_operations handlersIlya Dryomov1-20/+20
2020-12-14libceph, ceph: make use of __ceph_auth_get_authorizer() in msgr1Ilya Dryomov1-16/+5
2020-12-14libceph, ceph: implement msgr2.1 protocol (crc and secure modes)Ilya Dryomov1-2/+83
2020-12-14libceph, ceph: get and handle cluster maps with addrvecsIlya Dryomov1-2/+2
2020-12-14libceph, ceph: incorporate nautilus cephx changesIlya Dryomov1-1/+4
2020-08-23treewide: Use fallthrough pseudo-keywordGustavo A. R. Silva1-2/+2
2020-08-03libceph: just have osd_req_op_init() return a pointerJeff Layton1-23/+16
2020-08-03libceph: use target_copy() in send_linger()Ilya Dryomov1-3/+1
2020-06-16libceph: don't omit used_replica in target_copy()Ilya Dryomov1-0/+1
2020-06-16libceph: don't omit recovery_deletes in target_copy()Ilya Dryomov1-0/+1
2020-06-16libceph: move away from global osd_req_flagsIlya Dryomov1-5/+2
2020-06-01libceph: support for alloc hint flagsIlya Dryomov1-1/+7
2020-06-01libceph: read_from_replica optionIlya Dryomov1-1/+4
2020-06-01libceph: support for balanced and localized readsIlya Dryomov1-4/+83
2020-06-01ceph: add read/write latency metric supportXiubo Li1-0/+3
2020-05-27libceph: ignore pool overlay and cache logic on redirectsJerry Lee1-1/+3
2020-03-30libceph: directly skip to the end of redirect replyIlya Dryomov1-3/+0
2020-03-30ceph: move ceph_osdc_{read,write}pages to ceph.koXiubo Li1-79/+0
2020-03-23libceph: fix alloc_msg_with_page_vector() memory leaksIlya Dryomov1-11/+3
2020-01-27ceph: use copy-from2 op in copy_file_rangeLuis Henriques1-6/+12
2019-09-16libceph: drop unused con parameter of calc_target()Ilya Dryomov1-7/+5
2019-09-16libceph: handle OSD op ceph_pagelist_append() errorsDavid Disseldorp1-5/+22
2019-09-16libceph: add function that clears osd client's abort_errYan, Zheng1-0/+8
2019-09-16libceph: add function that reset client's entity addrYan, Zheng1-0/+18
2019-08-22libceph: fix PG split vs OSD (re)connect raceIlya Dryomov1-5/+4
2019-07-08libceph: export osd_req_op_data() macroIlya Dryomov1-8/+0
2019-07-08libceph: change ceph_osdc_call() to take page vector for responseIlya Dryomov1-5/+5
2019-07-08libceph: rename r_unsafe_item to r_private_itemIlya Dryomov1-2/+2
2019-07-08libceph: fix watch_item_t decoding to use ceph_decode_entity_addrJeff Layton1-7/+13
2019-05-16Merge tag 'ceph-for-5.2-rc1' of git://github.com/ceph/ceph-clientLinus Torvalds1-1/+1
2019-05-07libceph: make ceph_pr_addr take an struct ceph_entity_addr pointerJeff Layton1-1/+1
2019-04-09treewide: Switch printk users from %pf and %pF to %ps and %pS, respectivelySakari Ailus1-1/+1
2019-01-07libceph: allow setting abort_on_full for rbdDongsheng Yang1-2/+2
2018-10-22libceph: support the RADOS copy-from operationLuis Henriques1-0/+90
2018-10-22libceph: check reply num_data_items in setup_request_data()Ilya Dryomov1-25/+23
2018-10-22libceph: preallocate message data itemsIlya Dryomov1-14/+88
2018-10-22libceph, rbd, ceph: move ceph_osdc_alloc_messages() callsIlya Dryomov1-17/+21
2018-10-22libceph: introduce alloc_watch_request()Ilya Dryomov1-9/+19
2018-10-22libceph: assign cookies in linger_submit()Ilya Dryomov1-21/+27
2018-10-22libceph: enable fallback to ceph_msg_new() in ceph_msgpool_get()Ilya Dryomov1-2/+2
2018-10-22libceph: no need to call osd_req_opcode_valid() in osd_req_encode_op()Ilya Dryomov1-6/+0
2018-10-22libceph: don't consume a ref on pagelist in ceph_msg_data_add_pagelist()Ilya Dryomov1-0/+8
2018-10-22libceph: introduce ceph_pagelist_alloc()Ilya Dryomov1-10/+4
2018-10-22libceph: osd_req_op_cls_init() doesn't need to take opcodeIlya Dryomov1-5/+4
2018-08-02libceph: add authorizer challengeIlya Dryomov1-0/+11
2018-08-02libceph: use timespec64 for r_mtimeArnd Bergmann1-4/+4
2018-08-02libceph: make ceph_osdc_notify{,_ack}() payload_len u32Ilya Dryomov1-4/+4
2018-06-15Merge tag 'ceph-for-4.18-rc1' of git://github.com/ceph/ceph-clientLinus Torvalds1-86/+130
2018-06-06Merge tag 'overflow-v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-2/+1
2018-06-06treewide: Use struct_size() for kmalloc()-familyKees Cook1-2/+1
2018-06-04libceph: allocate the locator string with GFP_NOFAILIlya Dryomov1-9/+1
2018-06-04libceph: make abort_on_full a per-osdc settingIlya Dryomov1-5/+4
2018-06-04libceph: don't abort reads in ceph_osdc_abort_on_full()Ilya Dryomov1-1/+2
2018-06-04libceph: avoid a use-after-free during map checkIlya Dryomov1-1/+1
2018-06-04libceph: don't warn if req->r_abort_on_full is setIlya Dryomov1-4/+6
2018-06-04libceph: use for_each_request() in ceph_osdc_abort_on_full()Ilya Dryomov1-53/+26
2018-06-04libceph: defer __complete_request() to a workqueueIlya Dryomov1-1/+18
2018-06-04libceph: move more code into __complete_request()Ilya Dryomov1-8/+6
2018-06-04libceph: no need to call flush_workqueue() before destructionIlya Dryomov1-1/+0
2018-06-04libceph: introduce ceph_osdc_abort_requests()Ilya Dryomov1-5/+62
2018-06-04libceph, rbd: add error handling for osd_req_op_cls_init()Chengguang Xu1-3/+9
2018-05-10libceph: add osd_req_op_extent_osd_data_bvecs()Ilya Dryomov1-4/+23
2018-04-02libceph, ceph: add __init attribution to init funcitonsChengguang Xu1-3/+1
2018-04-02libceph, ceph: move ceph_calc_file_object_mapping() to striper.cIlya Dryomov1-0/+1
2018-04-02libceph: introduce BVECS data typeIlya Dryomov1-0/+39
2018-04-02libceph, rbd: new bio handling code (aka don't clone bios)Ilya Dryomov1-5/+8
2018-04-02libceph, ceph: change ceph_calc_file_object_mapping() signatureIlya Dryomov1-6/+4
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-09-06ceph: nuke startsync opYanhu Cao1-5/+0
2017-08-01libceph: make RECOVERY_DELETES feature create a new intervalIlya Dryomov1-0/+5
2017-08-01libceph: make encode_request_*() work with r_mempool requestsIlya Dryomov1-3/+6
2017-07-17libceph: don't call encode_request_finish() on MOSDBackoff messagesIlya Dryomov1-1/+4
2017-07-07libceph: respect RADOS_BACKOFF backoffsIlya Dryomov1-0/+593
2017-07-07libceph: avoid unnecessary pi lookups in calc_target()Ilya Dryomov1-4/+4
2017-07-07libceph: use target pi for calc_target() calculationsIlya Dryomov1-1/+8
2017-07-07libceph: always populate t->target_{oid,oloc} in calc_target()Ilya Dryomov1-11/+4
2017-07-07libceph: make sure need_resend targets reflect latest mapIlya Dryomov1-8/+25
2017-07-07libceph: delete from need_resend_linger before check_linger_pool_dne()Ilya Dryomov1-0/+1
2017-07-07libceph: resend on PG splits if OSD has RESEND_ON_SPLITIlya Dryomov1-7/+14
2017-07-07libceph: drop need_resend from calc_target()Ilya Dryomov1-7/+11
2017-07-07libceph: MOSDOp v8 encoding (actual spgid + full hash)Ilya Dryomov1-19/+134
2017-07-07libceph: encode_{pgid,oloc}() helpersIlya Dryomov1-23/+27
2017-07-07libceph: introduce ceph_spg, ceph_pg_to_primary_shard()Ilya Dryomov1-2/+5
2017-07-07libceph: fold [l]req->last_force_resend into ceph_osd_request_targetIlya Dryomov1-11/+10
2017-05-10Merge tag 'ceph-for-4.12-rc1' of git://github.com/ceph/ceph-clientLinus Torvalds1-16/+123
2017-05-08fs: ceph: CURRENT_TIME with ktime_get_real_ts()Deepa Dinamani1-2/+2
2017-05-04libceph: add an epoch_barrier field to struct ceph_osd_clientJeff Layton1-7/+72
2017-05-04libceph: abort already submitted but abortable requests when map or pool goes...Jeff Layton1-0/+34
2017-05-04libceph: allow requests to return immediately on full conditions if caller wi...Jeff Layton1-0/+7
2017-05-04libceph: remove req->r_replay_versionJeff Layton1-3/+4
2017-05-04libceph: convert ceph_osd.o_ref from atomic_t to refcount_tElena Reshetova1-8/+8
2017-03-07libceph: osd_request_timeout optionIlya Dryomov1-1/+35
2017-02-28Merge tag 'ceph-for-4.11-rc1' of git://github.com/ceph/ceph-clientLinus Torvalds1-94/+36
2017-02-24libceph, rbd, ceph: WRITE | ONDISK -> WRITEIlya Dryomov1-5/+4
2017-02-24libceph: get rid of ack vs commitIlya Dryomov1-87/+26
2017-02-20libceph: pass reply buffer length through ceph_osdc_call()Ilya Dryomov1-2/+5
2017-02-20ceph: update readpages osd request according to size of pagesYan, Zheng1-1/+2
2017-01-14locking/atomic, kref: Add kref_read()Peter Zijlstra1-5/+5
2016-12-14libceph: remove now unused finish_request() wrapperIlya Dryomov1-10/+4
2016-12-14libceph: always signal completion when doneIlya Dryomov1-14/+11
2016-12-12libceph: drop len argument of *verify_authorizer_reply()Ilya Dryomov1-2/+2
2016-11-10libceph: initialize last_linger_id with a large integerIlya Dryomov1-0/+1
2016-08-24rbd: retry watch re-registration periodicallyIlya Dryomov1-0/+1
2016-08-24libceph: add ceph_osdc_call() single-page helperDouglas Fuller1-0/+51
2016-08-24libceph: support for CEPH_OSD_OP_LIST_WATCHERSDouglas Fuller1-0/+117
2016-08-08libceph: fix return value check in alloc_msg_with_page_vector()Wei Yongjun1-1/+1
2016-07-28libceph: make sure redirect does not change namespaceYan, Zheng1-0/+15
2016-07-28libceph: rados pool namespace supportYan, Zheng1-7/+25
2016-07-28libceph: define new ceph_file_layout structureYan, Zheng1-2/+2
2016-05-30libceph: use %s instead of %pE in dout()sIlya Dryomov1-3/+3
2016-05-30libceph: put request only if it's done in handle_reply()Ilya Dryomov1-3/+3
2016-05-30libceph: change ceph_osdmap_flag() to take osdcIlya Dryomov1-20/+19
2016-05-26libceph: make ceph_osdc_wait_request() uninterruptibleYan, Zheng1-1/+1
2016-05-26libceph: replace ceph_monc_request_next_osdmap()Ilya Dryomov1-0/+7
2016-05-26libceph: pool deletion detectionIlya Dryomov1-6/+242
2016-05-26libceph: support for checking on status of watchIlya Dryomov1-1/+51
2016-05-26libceph: support for sending notifiesIlya Dryomov1-9/+223
2016-05-26libceph, rbd: ceph_osd_linger_request, watch/notify v2Ilya Dryomov1-249/+899
2016-05-26libceph: wait_request_timeout()Ilya Dryomov1-13/+21
2016-05-26libceph: request_init() and request_release_checks()Ilya Dryomov1-17/+27
2016-05-26libceph: a major OSD client updateIlya Dryomov1-603/+561
2016-05-26libceph: protect osdc->osd_lru list with a spinlockIlya Dryomov1-11/+18
2016-05-26libceph: allocate ceph_osd with GFP_NOFAILIlya Dryomov1-4/+1
2016-05-26libceph: osd_init() and osd_cleanup()Ilya Dryomov1-9/+37
2016-05-26libceph: handle_one_map()Ilya Dryomov1-56/+130
2016-05-26libceph: allocate dummy osdmap in ceph_osdc_init()Ilya Dryomov1-11/+11
2016-05-26libceph: schedule tick from ceph_osdc_init()Ilya Dryomov1-28/+9
2016-05-26libceph: move schedule_delayed_work() in ceph_osdc_init()Ilya Dryomov1-3/+3
2016-05-26libceph: redo callbacks and factor out MOSDOpReply decodingIlya Dryomov1-153/+209
2016-05-26libceph: drop msg argument from ceph_osdc_callback_tIlya Dryomov1-2/+2
2016-05-26libceph: switch to calc_target(), part 2Ilya Dryomov1-177/+178
2016-05-26libceph: switch to calc_target(), part 1Ilya Dryomov1-96/+23
2016-05-26libceph: introduce ceph_osd_request_target, calc_target()Ilya Dryomov1-2/+155
2016-05-26libceph: ceph_osds, ceph_pg_to_up_acting_osds()Ilya Dryomov1-18/+18
2016-05-26libceph: rename ceph_oloc_oid_to_pg()Ilya Dryomov1-2/+2
2016-05-26libceph: DEFINE_RB_FUNCS macroIlya Dryomov1-87/+10
2016-05-26libceph: open-code remove_{all,old}_osds()Ilya Dryomov1-30/+21
2016-05-26libceph: nuke unused fields and functionsIlya Dryomov1-12/+1
2016-05-26libceph: variable-sized ceph_object_idIlya Dryomov1-6/+10
2016-05-26libceph: change how osd_op_reply message size is calculatedIlya Dryomov1-10/+4
2016-05-26libceph: move message allocation out of ceph_osdc_alloc_request()Ilya Dryomov1-38/+50
2016-05-26libceph: grab snapc in ceph_osdc_alloc_request()Ilya Dryomov1-2/+4
2016-05-26libceph: make ceph_osdc_put_request() accept NULLIlya Dryomov1-3/+5
2016-04-25libceph: make authorizer destruction independent of ceph_auth_clientIlya Dryomov1-4/+2
2016-03-25libceph: add helper that duplicates last extent operationYan, Zheng1-0/+22
2016-03-25libceph: enable large, variable-sized OSD requestsIlya Dryomov1-15/+28
2016-03-25libceph: osdc->req_mempool should be backed by a slab poolIlya Dryomov1-2/+2
2016-03-25libceph: make r_request msg_size calculation clearerIlya Dryomov1-10/+11
2016-03-25libceph: move r_reply_op_{len,result} into struct ceph_osd_req_opYan, Zheng1-2/+2
2016-03-25libceph: rename ceph_osd_req_op::payload_len to indata_lenIlya Dryomov1-6/+6
2016-03-25libceph: revamp subs code, switch to SUBSCRIBE2 protocolIlya Dryomov1-1/+2
2016-02-24libceph: don't spam dmesg with stray reply warningsIlya Dryomov1-2/+2
2016-02-04libceph: MOSDOpReply v7 encodingIlya Dryomov1-0/+10
2015-11-02libceph: clear msg->con in ceph_msg_release() onlyIlya Dryomov1-3/+0
2015-11-02libceph: msg signing callouts don't need con argumentIlya Dryomov1-6/+8
2015-11-02libceph: evaluate osd_req_op_data() arguments only onceIoana Ciornei1-5/+7
2015-11-02libceph: remove con argument in handle_reply()Shraddha Barke1-3/+2
2015-10-16rbd: use writefull op for object size writesIlya Dryomov1-4/+9
2015-09-09libceph: check data_len in ->alloc_msg()Ilya Dryomov1-33/+18
2015-06-25libceph: store timeouts in jiffies, verify user inputIlya Dryomov1-8/+7
2015-06-25libceph: allow setting osd_req_op's flagsYan, Zheng1-9/+15
2015-06-25libceph: properly release STAT request's raw_data_inYan, Zheng1-0/+3
2015-05-20Revert "libceph: clear r_req_lru_item in __unregister_linger_request()"Ilya Dryomov1-2/+0
2015-05-20libceph: request a new osdmap if lingering request maps to no osdIlya Dryomov1-11/+20
2015-02-19libceph: kfree() in put_osd() shouldn't depend on authorizerIlya Dryomov1-2/+3
2015-02-19libceph: fix double __remove_osd() problemIlya Dryomov1-8/+18
2014-12-17libceph: specify position of extent operationYan, Zheng1-13/+6
2014-12-17libceph: add CREATE osd operation supportYan, Zheng1-20/+22
2014-12-17libceph: add SETXATTR/CMPXATTR osd operations supportYan, Zheng1-0/+47
2014-12-17libceph: message signature supportYan, Zheng1-0/+16
2014-11-13libceph: change from BUG to WARN for __remove_osd() assertsIlya Dryomov1-2/+2
2014-11-13libceph: clear r_req_lru_item in __unregister_linger_request()Ilya Dryomov1-0/+2
2014-11-13libceph: unlink from o_linger_requests when clearing r_osdIlya Dryomov1-0/+1
2014-10-14libceph: sync osd op definitions in rados.hIlya Dryomov1-62/+3
2014-10-14libceph: don't try checking queue_work() return valueIlya Dryomov1-10/+5
2014-10-14libceph: Convert pr_warning to pr_warnJoe Perches1-8/+7
2014-10-14libceph: resend lingering requests with a new tidIlya Dryomov1-19/+54
2014-10-14libceph: abstract out ceph_osd_request enqueue logicIlya Dryomov1-7/+17
2014-07-08libceph: nuke ceph_osdc_unregister_linger_request()Ilya Dryomov1-10/+0
2014-07-08libceph: introduce ceph_osdc_cancel_request()Ilya Dryomov1-6/+25
2014-07-08libceph: fix linger request check in __unregister_request()Ilya Dryomov1-1/+1
2014-07-08libceph: unregister only registered linger requestsIlya Dryomov1-5/+14
2014-07-08libceph: assert both regular and lingering lists in __remove_osd()Ilya Dryomov1-0/+2