/linux-4.4.14/drivers/media/platform/davinci/ |
H A D | vpbe_osd.c | 42 #define MODULE_NAME "davinci-vpbe-osd" 65 struct osd_state *osd = sd; osd_read() local 67 return readl(osd->osd_base + offset); osd_read() 72 struct osd_state *osd = sd; osd_write() local 74 writel(val, osd->osd_base + offset); osd_write() 81 struct osd_state *osd = sd; osd_set() local 83 void __iomem *addr = osd->osd_base + offset; osd_set() 93 struct osd_state *osd = sd; osd_clear() local 95 void __iomem *addr = osd->osd_base + offset; osd_clear() 106 struct osd_state *osd = sd; osd_modify() local 108 void __iomem *addr = osd->osd_base + offset; osd_modify() 480 struct osd_state *osd = sd; osd_disable_layer() local 481 struct osd_window_state *win = &osd->win[layer]; osd_disable_layer() 484 spin_lock_irqsave(&osd->lock, flags); osd_disable_layer() 487 spin_unlock_irqrestore(&osd->lock, flags); osd_disable_layer() 494 spin_unlock_irqrestore(&osd->lock, flags); osd_disable_layer() 526 struct osd_state *osd = sd; osd_enable_layer() local 527 struct osd_window_state *win = &osd->win[layer]; osd_enable_layer() 531 spin_lock_irqsave(&osd->lock, flags); osd_enable_layer() 542 spin_unlock_irqrestore(&osd->lock, flags); osd_enable_layer() 547 spin_unlock_irqrestore(&osd->lock, flags); osd_enable_layer() 556 _osd_set_blink_attribute(sd, osd->is_blinking, osd->blink); osd_enable_layer() 559 spin_unlock_irqrestore(&osd->lock, flags); osd_enable_layer() 753 struct osd_state *osd = sd; osd_start_layer() local 754 struct osd_window_state *win = &osd->win[layer]; osd_start_layer() 758 spin_lock_irqsave(&osd->lock, flags); osd_start_layer() 764 osd->pingpong = osd_start_layer() 765 _osd_dm6446_vid0_pingpong(sd, osd->field_inversion, osd_start_layer() 770 spin_unlock_irqrestore(&osd->lock, flags); osd_start_layer() 776 struct osd_state *osd = sd; osd_get_layer_config() local 777 struct osd_window_state *win = &osd->win[layer]; osd_get_layer_config() 780 spin_lock_irqsave(&osd->lock, flags); osd_get_layer_config() 784 spin_unlock_irqrestore(&osd->lock, flags); osd_get_layer_config() 802 struct osd_state *osd = sd; try_layer_config() local 803 struct osd_window_state *win = &osd->win[layer]; try_layer_config() 813 if (osd->vpbe_type == VPBE_VERSION_1) try_layer_config() 821 if (osd->vpbe_type == VPBE_VERSION_1) try_layer_config() 823 else if ((osd->vpbe_type == VPBE_VERSION_3) || try_layer_config() 824 (osd->vpbe_type == VPBE_VERSION_2)) try_layer_config() 828 if (osd->vpbe_type != VPBE_VERSION_2) try_layer_config() 851 if ((osd->vpbe_type == VPBE_VERSION_1) && try_layer_config() 855 pixfmt = osd->win[WIN_OSD1].lconfig.pixfmt; try_layer_config() 857 pixfmt = osd->win[WIN_OSD0].lconfig.pixfmt; try_layer_config() 870 if ((osd->vpbe_type == VPBE_VERSION_1) && is_vid_win(layer) && try_layer_config() 875 pixfmt = osd->win[WIN_VID1].lconfig.pixfmt; try_layer_config() 877 pixfmt = osd->win[WIN_VID0].lconfig.pixfmt; try_layer_config() 1237 struct osd_state *osd = sd; osd_set_layer_config() local 1238 struct osd_window_state *win = &osd->win[layer]; osd_set_layer_config() 1243 spin_lock_irqsave(&osd->lock, flags); osd_set_layer_config() 1247 spin_unlock_irqrestore(&osd->lock, flags); osd_set_layer_config() 1253 osd->yc_pixfmt = lconfig->pixfmt; osd_set_layer_config() 1273 &osd->osdwin[OSDWIN_OSD1]; osd_set_layer_config() 1305 _osd_set_blink_attribute(sd, osd->is_blinking, osd_set_layer_config() 1306 osd->blink); osd_set_layer_config() 1321 &osd->osdwin[osdwin]; osd_set_layer_config() 1355 if (osd->win[WIN_VID0].lconfig.pixfmt == PIXFMT_RGB888) osd_set_layer_config() 1357 else if (osd->win[WIN_VID1].lconfig.pixfmt == PIXFMT_RGB888) osd_set_layer_config() 1363 osd->pingpong = osd_set_layer_config() 1364 _osd_dm6446_vid0_pingpong(sd, osd->field_inversion, osd_set_layer_config() 1369 spin_unlock_irqrestore(&osd->lock, flags); osd_set_layer_config() 1376 struct osd_state *osd = sd; osd_init_layer() local 1377 struct osd_window_state *win = &osd->win[layer]; osd_init_layer() 1383 spin_lock_irqsave(&osd->lock, flags); osd_init_layer() 1405 osdwin_state = &osd->osdwin[osdwin]; osd_init_layer() 1424 osd->is_blinking = 0; osd_init_layer() 1425 osd->blink = BLINK_X1; osd_init_layer() 1430 cfg->pixfmt = osd->yc_pixfmt; osd_init_layer() 1435 spin_unlock_irqrestore(&osd->lock, flags); osd_init_layer() 1440 struct osd_state *osd = sd; osd_release_layer() local 1441 struct osd_window_state *win = &osd->win[layer]; osd_release_layer() 1444 spin_lock_irqsave(&osd->lock, flags); osd_release_layer() 1447 spin_unlock_irqrestore(&osd->lock, flags); osd_release_layer() 1451 spin_unlock_irqrestore(&osd->lock, flags); osd_release_layer() 1453 spin_lock_irqsave(&osd->lock, flags); osd_release_layer() 1457 spin_unlock_irqrestore(&osd->lock, flags); osd_release_layer() 1462 struct osd_state *osd = sd; osd_request_layer() local 1463 struct osd_window_state *win = &osd->win[layer]; osd_request_layer() 1466 spin_lock_irqsave(&osd->lock, flags); osd_request_layer() 1469 spin_unlock_irqrestore(&osd->lock, flags); osd_request_layer() 1474 spin_unlock_irqrestore(&osd->lock, flags); osd_request_layer() 1504 static int osd_initialize(struct osd_state *osd) osd_initialize() argument 1506 if (osd == NULL) osd_initialize() 1508 _osd_init(osd); osd_initialize() 1511 osd->yc_pixfmt = PIXFMT_YCBCRI; osd_initialize() 1513 if (osd->vpbe_type == VPBE_VERSION_3) { osd_initialize() 1518 osd->rom_clut = ROM_CLUT1; osd_initialize() 1521 _osd_set_field_inversion(osd, osd->field_inversion); osd_initialize() 1522 _osd_set_rom_clut(osd, osd->rom_clut); osd_initialize() 1524 osd_init_layer(osd, WIN_OSD0); osd_initialize() 1525 osd_init_layer(osd, WIN_VID0); osd_initialize() 1526 osd_init_layer(osd, WIN_OSD1); osd_initialize() 1527 osd_init_layer(osd, WIN_VID1); osd_initialize() 1548 struct osd_state *osd; osd_probe() local 1555 osd = devm_kzalloc(&pdev->dev, sizeof(struct osd_state), GFP_KERNEL); osd_probe() 1556 if (osd == NULL) osd_probe() 1560 osd->dev = &pdev->dev; osd_probe() 1561 osd->vpbe_type = pdev_id->driver_data; osd_probe() 1564 osd->osd_base = devm_ioremap_resource(&pdev->dev, res); osd_probe() 1565 if (IS_ERR(osd->osd_base)) osd_probe() 1566 return PTR_ERR(osd->osd_base); osd_probe() 1568 osd->osd_base_phys = res->start; osd_probe() 1569 osd->osd_size = resource_size(res); osd_probe() 1570 spin_lock_init(&osd->lock); osd_probe() 1571 osd->ops = osd_ops; osd_probe() 1572 platform_set_drvdata(pdev, osd); osd_probe() 1573 dev_notice(osd->dev, "OSD sub device probe success\n"); osd_probe()
|
H A D | vpbe.c | 573 if (strstr(pdev->name, "vpbe-osd") != NULL) platform_device_get() 661 /* initialize osd device */ vpbe_initialize() 836 !cfg->osd.module_name[0] || vpbe_probe()
|
H A D | vpbe_display.c | 403 "Error in enabling osd window layer 0\n"); vpbe_set_osd_display_params() 417 "Error in enabling osd window layer 1\n"); vpbe_set_osd_display_params() 866 /* Get osd layer config */ vpbe_display_s_fmt() 889 /* Set the layer config in the osd window */ vpbe_display_s_fmt() 1288 if (strstr(pdev->name, "vpbe-osd") != NULL) vpbe_device_get()
|
/linux-4.4.14/drivers/scsi/osd/ |
H A D | osd_debug.h | 17 #define OSD_ERR(fmt, a...) printk(KERN_ERR "osd: " fmt, ##a) 18 #define OSD_INFO(fmt, a...) printk(KERN_NOTICE "osd: " fmt, ##a) 22 printk(KERN_NOTICE "osd @%s:%d: " fmt, __func__, __LINE__, ##a)
|
H A D | osd_uld.c | 6 * It's main function is to export osd devices to in-kernel users like 74 static const char osd_name[] = "osd"; 75 static const char *osd_version_string = "open-osd 0.2.1"; 78 MODULE_DESCRIPTION("open-osd Upper-Layer-Driver osd.ko"); 460 sprintf(disk->disk_name, "osd%d", oud->minor); osd_probe() 472 OSD_ERR("osd detection failed, non-compatible OSD device\n"); osd_probe() 527 OSD_ERR("Half cooked osd-device %p,%p || %p!=%p", osd_remove() 564 OSD_ERR("Unable to register major %d for osd ULD => %d\n", osd_uld_init()
|
H A D | osd_initiator.c | 2 * osd_initiator - Main body of the osd initiator library. 61 MODULE_DESCRIPTION("open-osd initiator library libosd.ko"); 206 /* Auto-detect the osd version */ osd_auto_detect_ver()
|
/linux-4.4.14/include/linux/ceph/ |
H A D | osdmap.h | 11 * The osd map describes the current membership of the osd cluster and 82 int osd; member in struct:ceph_pg_mapping::__anon12166::__anon12168 140 static inline int ceph_osd_exists(struct ceph_osdmap *map, int osd) ceph_osd_exists() argument 142 return osd >= 0 && osd < map->max_osd && ceph_osd_exists() 143 (map->osd_state[osd] & CEPH_OSD_EXISTS); ceph_osd_exists() 146 static inline int ceph_osd_is_up(struct ceph_osdmap *map, int osd) ceph_osd_is_up() argument 148 return ceph_osd_exists(map, osd) && ceph_osd_is_up() 149 (map->osd_state[osd] & CEPH_OSD_UP); ceph_osd_is_up() 152 static inline int ceph_osd_is_down(struct ceph_osdmap *map, int osd) ceph_osd_is_down() argument 154 return !ceph_osd_is_up(map, osd); ceph_osd_is_down() 163 extern u32 ceph_get_primary_affinity(struct ceph_osdmap *map, int osd); 166 int osd) ceph_osd_addr() 168 if (osd >= map->max_osd) ceph_osd_addr() 170 return &map->osd_addr[osd]; ceph_osd_addr() 165 ceph_osd_addr(struct ceph_osdmap *map, int osd) ceph_osd_addr() argument
|
H A D | rados.h | 60 __le16 preferred; /* preferred primary osd */ 122 * osd map bits 128 #define CEPH_OSD_AUTOOUT (1<<2) /* osd was automatically marked out */ 129 #define CEPH_OSD_NEW (1<<3) /* osd is new, never marked in */ 133 /* osd weights. fixed point value: 0x10000 == 1.0 ("in"), 0 == "out" */ 137 /* osd primary-affinity. fixed point value: 0x10000 == baseline */ 143 * osd map flag bits 150 #define CEPH_OSDMAP_NOUP (1<<5) /* block osd boot */ 151 #define CEPH_OSDMAP_NODOWN (1<<6) /* block osd mark-down/failure */ 152 #define CEPH_OSDMAP_NOOUT (1<<7) /* block osd auto mark-out */ 153 #define CEPH_OSDMAP_NOIN (1<<8) /* block osd auto mark-in */ 154 #define CEPH_OSDMAP_NOBACKFILL (1<<9) /* block osd backfill */ 155 #define CEPH_OSDMAP_NORECOVER (1<<10) /* block osd recovery and backfill */ 164 * osd ops 368 * osd op flags
|
H A D | osd_client.h | 28 /* a given osd we're communicating with */ 134 int r_flags; /* any additional flags for the osd */ 137 /* request osd ops array */ 218 struct list_head req_notarget; /* map to no osd */
|
H A D | mon_client.h | 79 /* mds/osd map */
|
H A D | auth.h | 11 * 'authorizer' that we use when connecting to a service (mds, osd).
|
H A D | ceph_fs.h | 147 /* osd */ 379 __le32 unused; /* used to be preferred osd */
|
/linux-4.4.14/net/ceph/ |
H A D | osd_client.c | 30 static int __reset_osd(struct ceph_osd_client *osdc, struct ceph_osd *osd); 51 * are described by the osd map. 64 * fill osd op in request message. 453 * This is an osd op init function for opcodes that have no data or 665 pr_err("unrecognized osd opcode %d\n", src->op); osd_req_encode_op() 744 pr_err("unsupported osd opcode %s\n", osd_req_encode_op() 766 * if @do_sync, include a 'startsync' command so that the osd will flush 833 * We keep osd requests in an rbtree, sorted by ->r_tid. 900 struct ceph_osd *osd = req->r_osd; __kick_linger_request() local 921 WARN_ON(req->r_osd || !osd); __kick_linger_request() 922 req->r_osd = osd; __kick_linger_request() 929 * Resubmit requests pending on the given osd. 932 struct ceph_osd *osd) __kick_osd_requests() 939 dout("%s osd%d\n", __func__, osd->o_osd); __kick_osd_requests() 940 err = __reset_osd(osdc, osd); __kick_osd_requests() 946 * osd's list of requests. Requests for a given object are __kick_osd_requests() 952 * requests back on the front of the osd client's unsent __kick_osd_requests() 956 * requests for the affected osd and splice it onto the __kick_osd_requests() 957 * front of the osd client's unsent list. Once we've seen a __kick_osd_requests() 961 list_for_each_entry(req, &osd->o_requests, r_osd_item) { __kick_osd_requests() 982 list_for_each_entry_safe(req, nreq, &osd->o_linger_requests, __kick_osd_requests() 993 * If the osd connection drops, we need to resubmit all requests. 997 struct ceph_osd *osd = con->private; osd_reset() local 1000 if (!osd) osd_reset() 1002 dout("osd_reset osd%d\n", osd->o_osd); osd_reset() 1003 osdc = osd->o_osdc; osd_reset() 1006 __kick_osd_requests(osdc, osd); osd_reset() 1017 struct ceph_osd *osd; create_osd() local 1019 osd = kzalloc(sizeof(*osd), GFP_NOFS); create_osd() 1020 if (!osd) create_osd() 1023 atomic_set(&osd->o_ref, 1); create_osd() 1024 osd->o_osdc = osdc; create_osd() 1025 osd->o_osd = onum; create_osd() 1026 RB_CLEAR_NODE(&osd->o_node); create_osd() 1027 INIT_LIST_HEAD(&osd->o_requests); create_osd() 1028 INIT_LIST_HEAD(&osd->o_linger_requests); create_osd() 1029 INIT_LIST_HEAD(&osd->o_osd_lru); create_osd() 1030 osd->o_incarnation = 1; create_osd() 1032 ceph_con_init(&osd->o_con, osd, &osd_con_ops, &osdc->client->msgr); create_osd() 1034 INIT_LIST_HEAD(&osd->o_keepalive_item); create_osd() 1035 return osd; create_osd() 1038 static struct ceph_osd *get_osd(struct ceph_osd *osd) get_osd() argument 1040 if (atomic_inc_not_zero(&osd->o_ref)) { get_osd() 1041 dout("get_osd %p %d -> %d\n", osd, atomic_read(&osd->o_ref)-1, get_osd() 1042 atomic_read(&osd->o_ref)); get_osd() 1043 return osd; get_osd() 1045 dout("get_osd %p FAIL\n", osd); get_osd() 1050 static void put_osd(struct ceph_osd *osd) put_osd() argument 1052 dout("put_osd %p %d -> %d\n", osd, atomic_read(&osd->o_ref), put_osd() 1053 atomic_read(&osd->o_ref) - 1); put_osd() 1054 if (atomic_dec_and_test(&osd->o_ref)) { put_osd() 1055 struct ceph_auth_client *ac = osd->o_osdc->client->monc.auth; put_osd() 1057 if (osd->o_auth.authorizer) put_osd() 1058 ceph_auth_destroy_authorizer(ac, osd->o_auth.authorizer); put_osd() 1059 kfree(osd); put_osd() 1064 * remove an osd from our map 1066 static void __remove_osd(struct ceph_osd_client *osdc, struct ceph_osd *osd) __remove_osd() argument 1068 dout("%s %p osd%d\n", __func__, osd, osd->o_osd); __remove_osd() 1069 WARN_ON(!list_empty(&osd->o_requests)); __remove_osd() 1070 WARN_ON(!list_empty(&osd->o_linger_requests)); __remove_osd() 1072 list_del_init(&osd->o_osd_lru); __remove_osd() 1073 rb_erase(&osd->o_node, &osdc->osds); __remove_osd() 1074 RB_CLEAR_NODE(&osd->o_node); __remove_osd() 1077 static void remove_osd(struct ceph_osd_client *osdc, struct ceph_osd *osd) remove_osd() argument 1079 dout("%s %p osd%d\n", __func__, osd, osd->o_osd); remove_osd() 1081 if (!RB_EMPTY_NODE(&osd->o_node)) { remove_osd() 1082 ceph_con_close(&osd->o_con); remove_osd() 1083 __remove_osd(osdc, osd); remove_osd() 1084 put_osd(osd); remove_osd() 1093 struct ceph_osd *osd = rb_entry(rb_first(&osdc->osds), remove_all_osds() local 1095 remove_osd(osdc, osd); remove_all_osds() 1101 struct ceph_osd *osd) __move_osd_to_lru() 1103 dout("%s %p\n", __func__, osd); __move_osd_to_lru() 1104 BUG_ON(!list_empty(&osd->o_osd_lru)); __move_osd_to_lru() 1106 list_add_tail(&osd->o_osd_lru, &osdc->osd_lru); __move_osd_to_lru() 1107 osd->lru_ttl = jiffies + osdc->client->options->osd_idle_ttl; __move_osd_to_lru() 1111 struct ceph_osd *osd) maybe_move_osd_to_lru() 1113 dout("%s %p\n", __func__, osd); maybe_move_osd_to_lru() 1115 if (list_empty(&osd->o_requests) && maybe_move_osd_to_lru() 1116 list_empty(&osd->o_linger_requests)) maybe_move_osd_to_lru() 1117 __move_osd_to_lru(osdc, osd); maybe_move_osd_to_lru() 1120 static void __remove_osd_from_lru(struct ceph_osd *osd) __remove_osd_from_lru() argument 1122 dout("__remove_osd_from_lru %p\n", osd); __remove_osd_from_lru() 1123 if (!list_empty(&osd->o_osd_lru)) __remove_osd_from_lru() 1124 list_del_init(&osd->o_osd_lru); __remove_osd_from_lru() 1129 struct ceph_osd *osd, *nosd; remove_old_osds() local 1133 list_for_each_entry_safe(osd, nosd, &osdc->osd_lru, o_osd_lru) { remove_old_osds() 1134 if (time_before(jiffies, osd->lru_ttl)) remove_old_osds() 1136 remove_osd(osdc, osd); remove_old_osds() 1142 * reset osd connect 1144 static int __reset_osd(struct ceph_osd_client *osdc, struct ceph_osd *osd) __reset_osd() argument 1148 dout("__reset_osd %p osd%d\n", osd, osd->o_osd); __reset_osd() 1149 if (list_empty(&osd->o_requests) && __reset_osd() 1150 list_empty(&osd->o_linger_requests)) { __reset_osd() 1151 remove_osd(osdc, osd); __reset_osd() 1155 peer_addr = &osdc->osdmap->osd_addr[osd->o_osd]; __reset_osd() 1156 if (!memcmp(peer_addr, &osd->o_con.peer_addr, sizeof (*peer_addr)) && __reset_osd() 1157 !ceph_con_opened(&osd->o_con)) { __reset_osd() 1160 dout("osd addr hasn't changed and connection never opened, " __reset_osd() 1163 list_for_each_entry(req, &osd->o_requests, r_osd_item) __reset_osd() 1169 ceph_con_close(&osd->o_con); __reset_osd() 1170 ceph_con_open(&osd->o_con, CEPH_ENTITY_TYPE_OSD, osd->o_osd, peer_addr); __reset_osd() 1171 osd->o_incarnation++; __reset_osd() 1180 struct ceph_osd *osd = NULL; __insert_osd() local 1182 dout("__insert_osd %p osd%d\n", new, new->o_osd); __insert_osd() 1185 osd = rb_entry(parent, struct ceph_osd, o_node); __insert_osd() 1186 if (new->o_osd < osd->o_osd) __insert_osd() 1188 else if (new->o_osd > osd->o_osd) __insert_osd() 1200 struct ceph_osd *osd; __lookup_osd() local 1204 osd = rb_entry(n, struct ceph_osd, o_node); __lookup_osd() 1205 if (o < osd->o_osd) __lookup_osd() 1207 else if (o > osd->o_osd) __lookup_osd() 1210 return osd; __lookup_osd() 1397 dout("%s %p tid %llu to osd%d\n", __func__, req, req->r_tid, __enqueue_request() 1410 * Pick an osd (the first 'up' osd in the pg), allocate the osd struct 1412 * no up osd, set r_osd to NULL. Move the request to the appropriate list 1455 dout("map_request tid %llu pgid %lld.%x osd%d (was osd%d)\n", __map_request() 1479 dout("map_request osd %p is osd%d\n", req->r_osd, o); __map_request() 1488 err = 1; /* osd or pg changed */ __map_request() 1502 dout("send_request %p tid %llu to osd%d flags %d pg %lld.%x\n", __send_request() 1574 * Timeout callback, called every N seconds when 1 or more osd 1588 struct ceph_osd *osd; handle_timeout() local 1600 * a connection with that osd (from the fault callback). handle_timeout() 1608 osd = req->r_osd; handle_timeout() 1609 BUG_ON(!osd); handle_timeout() 1610 dout(" tid %llu is slow, will send keepalive on osd%d\n", handle_timeout() 1611 req->r_tid, osd->o_osd); handle_timeout() 1612 list_move_tail(&osd->o_keepalive_item, &slow_osds); handle_timeout() 1615 osd = list_entry(slow_osds.next, struct ceph_osd, handle_timeout() 1617 list_del_init(&osd->o_keepalive_item); handle_timeout() 1618 ceph_con_keepalive(&osd->o_con); handle_timeout() 1752 * handle osd op reply. either call the callback if it is specified, 1953 struct ceph_osd *osd = rb_entry(p, struct ceph_osd, o_node); reset_changed_osds() local 1956 if (!ceph_osd_is_up(osdc->osdmap, osd->o_osd) || reset_changed_osds() 1957 memcmp(&osd->o_con.peer_addr, reset_changed_osds() 1959 osd->o_osd), reset_changed_osds() 1961 __reset_osd(osdc, osd); reset_changed_osds() 1967 * no osd, request a new map. 1990 * be sent to the osd in the loop below. Unregister kick_requests() 1996 dout("%p tid %llu restart on osd%d\n", kick_requests() 2013 dout("%p tid %llu maps to no osd\n", req, req->r_tid); kick_requests() 2017 dout("%p tid %llu requeued on osd%d\n", req, kick_requests() 2036 dout("lingering %p tid %llu maps to no osd\n", kick_requests() 2050 dout("kicking lingering %p tid %llu osd%d\n", req, kick_requests() 2067 * Process updated osd map. 2346 * Process osd watch notifications 2798 struct ceph_osd *osd = con->private; dispatch() local 2802 if (!osd) dispatch() 2804 osdc = osd->o_osdc; dispatch() 2834 struct ceph_osd *osd = con->private; get_reply() local 2835 struct ceph_osd_client *osdc = osd->o_osdc; get_reply() 2846 dout("%s osd%d tid %llu unknown, skipping\n", __func__, get_reply() 2847 osd->o_osd, tid); get_reply() 2856 pr_warn("%s osd%d tid %llu front %d > preallocated %d\n", get_reply() 2857 __func__, osd->o_osd, req->r_tid, front_len, get_reply() 2868 pr_warn("%s osd%d tid %llu data %d > preallocated %zu, skipping\n", get_reply() 2869 __func__, osd->o_osd, req->r_tid, data_len, get_reply() 2888 struct ceph_osd *osd = con->private; alloc_msg() local 2900 pr_info("alloc_msg unexpected msg type %d from osd%d\n", type, alloc_msg() 2901 osd->o_osd); alloc_msg() 2912 struct ceph_osd *osd = con->private; get_osd_con() local 2913 if (get_osd(osd)) get_osd_con() 2920 struct ceph_osd *osd = con->private; put_osd_con() local 2921 put_osd(osd); put_osd_con() 931 __kick_osd_requests(struct ceph_osd_client *osdc, struct ceph_osd *osd) __kick_osd_requests() argument 1100 __move_osd_to_lru(struct ceph_osd_client *osdc, struct ceph_osd *osd) __move_osd_to_lru() argument 1110 maybe_move_osd_to_lru(struct ceph_osd_client *osdc, struct ceph_osd *osd) maybe_move_osd_to_lru() argument
|
H A D | osdmap.c | 652 * osd map 913 u32 osd; __decode_primary_temp() local 920 ceph_decode_32_safe(p, end, osd, e_inval); __decode_primary_temp() 925 if (!incremental || osd != (u32)-1) { __decode_primary_temp() 933 pg->primary_temp.osd = osd; __decode_primary_temp() 960 u32 ceph_get_primary_affinity(struct ceph_osdmap *map, int osd) ceph_get_primary_affinity() argument 962 BUG_ON(osd >= map->max_osd); ceph_get_primary_affinity() 967 return map->osd_primary_affinity[osd]; ceph_get_primary_affinity() 970 static int set_primary_affinity(struct ceph_osdmap *map, int osd, u32 aff) set_primary_affinity() argument 972 BUG_ON(osd >= map->max_osd); set_primary_affinity() 987 map->osd_primary_affinity[osd] = aff; set_primary_affinity() 1029 u32 osd, aff; decode_new_primary_affinity() local 1032 ceph_decode_32_safe(p, end, osd, e_inval); decode_new_primary_affinity() 1035 ret = set_primary_affinity(map, osd, aff); decode_new_primary_affinity() 1039 pr_info("osd%d primary-affinity 0x%x\n", osd, aff); decode_new_primary_affinity() 1091 /* (re)alloc osd arrays */ osdmap_decode() 1296 u32 osd; osdmap_apply_incremental() local 1298 ceph_decode_32_safe(p, end, osd, e_inval); osdmap_apply_incremental() 1301 pr_info("osd%d up\n", osd); osdmap_apply_incremental() 1302 BUG_ON(osd >= map->max_osd); osdmap_apply_incremental() 1303 map->osd_state[osd] |= CEPH_OSD_UP | CEPH_OSD_EXISTS; osdmap_apply_incremental() 1304 map->osd_addr[osd] = addr; osdmap_apply_incremental() 1310 u32 osd; osdmap_apply_incremental() local 1312 ceph_decode_32_safe(p, end, osd, e_inval); osdmap_apply_incremental() 1318 pr_info("osd%d down\n", osd); osdmap_apply_incremental() 1319 if (osd < map->max_osd) osdmap_apply_incremental() 1320 map->osd_state[osd] ^= xorstate; osdmap_apply_incremental() 1326 u32 osd, off; osdmap_apply_incremental() local 1328 osd = ceph_decode_32(p); osdmap_apply_incremental() 1330 pr_info("osd%d weight 0x%x %s\n", osd, off, osdmap_apply_incremental() 1333 if (osd < map->max_osd) osdmap_apply_incremental() 1334 map->osd_weight[osd] = off; osdmap_apply_incremental() 1528 * Return up set length. *primary is set to up primary osd id, or -1 1581 int osd = osds[i]; apply_primary_affinity() local 1583 if (osd != CRUSH_ITEM_NONE && apply_primary_affinity() 1584 osdmap->osd_primary_affinity[osd] != apply_primary_affinity() 1594 * osd into the hash/rng so that a proportional fraction of an apply_primary_affinity() 1595 * osd's pgs get rejected as primary. apply_primary_affinity() 1598 int osd = osds[i]; apply_primary_affinity() local 1601 if (osd == CRUSH_ITEM_NONE) apply_primary_affinity() 1604 aff = osdmap->osd_primary_affinity[osd]; apply_primary_affinity() 1607 pps, osd) >> 16) >= aff) { apply_primary_affinity() 1636 * Return acting set length. *primary is set to acting primary osd id, 1684 temp_primary = pg->primary_temp.osd; apply_temps() 1694 * primary osd id, or -1 if acting set is empty or on error. 1743 * Return primary osd for given pgid, or -1 if none.
|
H A D | ceph_strings.c | 11 case CEPH_ENTITY_TYPE_OSD: return "osd"; ceph_entity_type_name()
|
H A D | debugfs.c | 23 * .../osdc - active osd requests 81 seq_printf(s, "osd%d\t%s\t%3d%%\t(%s)\t%3d%%\n", osdmap_show() 103 pg->pgid.seed, pg->primary_temp.osd); osdmap_show()
|
H A D | ceph_common.c | 669 /* open session, and wait for mon and osd maps */ __ceph_open_session() 730 pr_info("loaded (mon/osd proto %d/%d)\n", init_ceph_lib()
|
/linux-4.4.14/drivers/media/platform/vivid/ |
H A D | Makefile | 5 vivid-osd.o vivid-tpg.o vivid-tpg-colors.o
|
H A D | vivid-osd.h | 2 * vivid-osd.h - output overlay support functions.
|
H A D | vivid-osd.c | 2 * vivid-osd.c - osd support for testing overlays. 41 #include "vivid-osd.h"
|
H A D | vivid-kthread-cap.c | 50 #include "vivid-osd.h" 62 u16 *cap, const u16 *osd) copy_pix() 72 *cap = *osd; copy_pix() 91 *osd != dev->chromakey_out) copy_pix() 371 u8 *osd = vosdbuf + vid_overlay_y * stride_osd; vivid_copy_buffer() local 379 dev->blended_line + offset, osd, vivid_copy_buffer() 383 osd, (dev->loop_vid_overlay.width * twopixsize) / 2); vivid_copy_buffer() 61 copy_pix(struct vivid_dev *dev, int win_y, int win_x, u16 *cap, const u16 *osd) copy_pix() argument
|
H A D | vivid-kthread-out.c | 50 #include "vivid-osd.h"
|
H A D | vivid-ctrls.c | 31 #include "vivid-osd.h"
|
H A D | vivid-core.c | 48 #include "vivid-osd.h"
|
/linux-4.4.14/include/scsi/ |
H A D | osd_sec.h | 21 * Contains types and constants of osd capabilities and security 25 * capabilities. It is the Server's osd-initiator place to know more. 26 * Also can be used by osd-target.
|
H A D | osd_types.h | 14 * used by more than one part of the osd library.
|
H A D | osd_protocol.h | 48 /* (osd-r10 5.2.4) 70 /* (osd-r10: 6.7) 88 /* (osd-r10: 5.2.2.1) 102 /* (osd-r10: 4.12.5) 422 /* (osd-r10 6.13) 490 /* FIXME: define helper functions to convert to/from osd time format */ 552 /* (osd-r10:4.9.2.2)
|
H A D | osd_initiator.h | 90 * @odi: Retrieved information uniquely identifying the osd target lun 94 * accordingly. Meanwhile also returns the "system id" and "osd name" root 97 * This rutine allocates osd requests and memory at GFP_KERNEL level and might 170 * How to use the osd library: 284 * osd_err_priority - osd categorized return codes in ascending severity.
|
H A D | osd_attributes.h | 16 /* osd-r10 4.7.3 Attributes pages */
|
/linux-4.4.14/fs/ceph/ |
H A D | ioctl.h | 16 * it differs from the default), and an optional 'preferred osd' to 63 __s64 osd; /* out: osd # */ member in struct:ceph_ioctl_dataloc 64 struct sockaddr_storage osd_addr; /* out: osd address */
|
H A D | ioctl.c | 224 dl.osd = ceph_calc_pg_primary(osdc->osdmap, pgid); ceph_ioctl_get_dataloc() 225 if (dl.osd >= 0) { ceph_ioctl_get_dataloc() 227 ceph_osd_addr(osdc->osdmap, dl.osd); ceph_ioctl_get_dataloc()
|
H A D | addr.c | 25 * context needs to be associated with the osd write during writeback. 42 * On writeback, we must submit writes to the osd IN SNAP ORDER. So, 628 * osd might reply with fewer pages if our writeback writepages_finish() 629 * raced with a truncation and was adjusted at the osd, writepages_finish() 870 * allocate an osd request and a page array ceph_writepages_start() 954 /* Format the osd request message and submit the write */ ceph_writepages_start()
|
H A D | file.c | 493 * buffer to osd, or directly to user pages (if O_DIRECT). 585 * messenger to send to its target osd). It is called again when
|
/linux-4.4.14/drivers/media/pci/ivtv/ |
H A D | ivtvfb.c | 218 struct ivtv_osd_coords *osd) ivtvfb_get_osd_coords() 225 osd->offset = data[0] - oi->video_rbase; ivtvfb_get_osd_coords() 226 osd->max_offset = oi->display_width * oi->display_height * 4; ivtvfb_get_osd_coords() 227 osd->pixel_stride = data[1]; ivtvfb_get_osd_coords() 228 osd->lines = data[2]; ivtvfb_get_osd_coords() 229 osd->x = data[3]; ivtvfb_get_osd_coords() 230 osd->y = data[4]; ivtvfb_get_osd_coords() 234 static int ivtvfb_set_osd_coords(struct ivtv *itv, const struct ivtv_osd_coords *osd) ivtvfb_set_osd_coords() argument 238 oi->display_width = osd->pixel_stride; ivtvfb_set_osd_coords() 239 oi->display_byte_stride = osd->pixel_stride * oi->bytes_per_pixel; ivtvfb_set_osd_coords() 240 oi->set_osd_coords_x += osd->x; ivtvfb_set_osd_coords() 241 oi->set_osd_coords_y = osd->y; ivtvfb_set_osd_coords() 244 osd->offset + oi->video_rbase, ivtvfb_set_osd_coords() 245 osd->pixel_stride, ivtvfb_set_osd_coords() 246 osd->lines, osd->x, osd->y); ivtvfb_set_osd_coords() 579 /* Read the current osd info */ ivtvfb_set_var() 1098 /* Find OSD buffer base & size. Add to mtrr. Zero osd buffer. */ 1120 /* The osd buffer size depends on the number of video buffers allocated ivtvfb_init_io() 1121 on the PVR350 itself. For now we'll hardcode the smallest osd buffer ivtvfb_init_io() 1148 /* Blank the entire osd. */ ivtvfb_init_io() 1223 /* Enable the osd */ ivtvfb_init_card() 217 ivtvfb_get_osd_coords(struct ivtv *itv, struct ivtv_osd_coords *osd) ivtvfb_get_osd_coords() argument
|
H A D | ivtv-yuv.c | 257 /* 2870 is normally fudged to align video coords with osd coords. ivtv_yuv_handle_horizontal() 262 Only do this if osd is full width. */ ivtv_yuv_handle_horizontal() 669 /* Modify the supplied coordinate information to fit the visible osd area */ ivtv_yuv_window_setup() 826 /* Snapshot the osd pan info */ ivtv_yuv_work_handler() 832 /* Not tracking the osd, so assume full screen */ ivtv_yuv_work_handler()
|
H A D | ivtv-driver.c | 786 /* Init the sg table for osd/yuv output */ ivtv_init_struct1()
|
H A D | ivtv-ioctl.c | 545 Note that the scaling only occurs on the video stream, the osd ivtv_try_fmt_vid_out()
|
/linux-4.4.14/drivers/block/ |
H A D | osdblk.c | 109 struct osd_dev *osd; /* associated OSD */ member in struct:osdblk_device 206 or = osd_start_request(osdev->osd, GFP_KERNEL); osdblk_get_obj_size() 336 or = osd_start_request(osdev->osd, GFP_ATOMIC); osdblk_rq_fn() 437 blk_queue_stack_limits(q, osd_request_queue(osdev->osd)); osdblk_init_disk() 550 osdev->osd = osduld_path_lookup(osdev->osd_path); class_osdblk_add() 551 if (IS_ERR(osdev->osd)) { class_osdblk_add() 552 rc = PTR_ERR(osdev->osd); class_osdblk_add() 578 osduld_put_device(osdev->osd); class_osdblk_add() 630 osduld_put_device(osdev->osd); class_osdblk_remove()
|
H A D | rbd.c | 1056 * Note: The snapshot array is in kept sorted (by the osd) in 1570 * underlying osd request. 1926 * Create an osd request. A read request has one osd op (read). 1927 * A write request has either one (watch) or two (hint+write) osd ops. 1929 * technically osd watch is a write request, hence this distinction.) 1977 * Create a copyup osd request based on the information in the object 1978 * request supplied. A copyup request has two or three osd ops, a 2371 * Add individual osd ops to the given ceph_osd_request and prepare 2373 * osd operations already to the object request. 2644 * The original osd request is of no use to use any more. rbd_img_obj_parent_read_full_callback() 2646 * request. Allocate the new copyup osd request for the rbd_img_obj_parent_read_full_callback() 3233 * A watch request is set to linger, so the underlying osd rbd_dev_header_watch_sync() 3271 * Synchronous osd object method call. Returns the number of bytes 3404 * time our request arrives at the osd, but there's no sense in rbd_queue_workfn()
|
/linux-4.4.14/drivers/media/rc/keymaps/ |
H A D | rc-apac-viewcomp.c | 52 { 0x16, KEY_GOTO }, /* osd */
|
/linux-4.4.14/include/media/davinci/ |
H A D | vpbe_osd.h | 29 #define DM644X_VPBE_OSD_SUBDEV_NAME "dm644x,vpbe-osd" 30 #define DM365_VPBE_OSD_SUBDEV_NAME "dm365,vpbe-osd" 31 #define DM355_VPBE_OSD_SUBDEV_NAME "dm355,vpbe-osd" 41 * An enumeration of the osd display layers.
|
H A D | vpbe.h | 92 struct osd_config_info osd; member in struct:vpbe_config
|
/linux-4.4.14/drivers/scsi/ |
H A D | constants.c | 218 {0x8802, "Create (osd)"}, 219 {0x8803, "List (osd)"}, 220 {0x8805, "Read (osd)"}, 221 {0x8806, "Write (osd)"}, 222 {0x8807, "Append (osd)"}, 223 {0x8808, "Flush (osd)"}, 224 {0x880a, "Remove (osd)"}, 225 {0x880b, "Create partition (osd)"}, 226 {0x880c, "Remove partition (osd)"}, 227 {0x880e, "Get attributes (osd)"}, 228 {0x880f, "Set attributes (osd)"}, 229 {0x8812, "Create and write (osd)"}, 230 {0x8815, "Create collection (osd)"}, 231 {0x8816, "Remove collection (osd)"}, 232 {0x8817, "List collection (osd)"}, 233 {0x8818, "Set key (osd)"}, 234 {0x8819, "Set master key (osd)"}, 235 {0x881a, "Flush collection (osd)"}, 236 {0x881b, "Flush partition (osd)"}, 238 {0x8f7e, "Perform SCSI command (osd)"}, 239 {0x8f7f, "Perform task management function (osd)"},
|
H A D | Makefile | 159 obj-$(CONFIG_SCSI_OSD_INITIATOR) += osd/
|
/linux-4.4.14/include/uapi/linux/ |
H A D | major.h | 177 #define SCSI_OSD_MAJOR 260 /* open-osd's OSD scsi device */
|
/linux-4.4.14/fs/exofs/ |
H A D | common.h | 130 * This is an osd device information descriptor. It is a single entry in 131 * the exofs device table. It describes an osd target lun which
|
H A D | sys.c | 177 /* create osd device group which contains following attributes exofs_sysfs_odev_add()
|
H A D | exofs.h | 105 #define OBJ_CREATED 1 /* object has been created on the osd*/
|
H A D | inode.c | 220 continue; /* osd might add more pages at end */ __readpages_done() 548 continue; /* osd might add more pages to a bio */ writepages_done() 981 .bmap = NULL, /* TODO: use osd's OSD_ACT_READ_MAP */ 1065 * inode info is in an application specific page/attribute of the osd-object. 1173 /* read the inode from the osd */ exofs_iget()
|
H A D | super.c | 218 * Some osd helpers 455 "This is a BUG. please report to osd-dev@open-osd.org\n", exofs_put_super()
|
/linux-4.4.14/drivers/hid/ |
H A D | hid-roccat-kone.h | 166 /* osd events are thought to be display on screen */
|
/linux-4.4.14/drivers/video/fbdev/ |
H A D | s3c-fb.c | 63 #define OSD_BASE(win, variant) ((variant).osd + ((win) * (variant).osd_stride)) 80 * @osd: The base for the OSD registers. 98 unsigned short osd; member in struct:s3c_fb_variant 1784 .osd = VIDOSD_BASE, 1815 .osd = VIDOSD_BASE, 1848 .osd = VIDOSD_BASE, 1880 .osd = VIDOSD_BASE, 1914 .osd = 0x28,
|
/linux-4.4.14/drivers/net/ethernet/intel/i40e/ |
H A D | i40e_main.c | 800 struct i40e_hw_port_stats *osd = &pf->stats_offsets; i40e_update_link_xoff_rx() local 812 &osd->link_xoff_rx, &nsd->link_xoff_rx); i40e_update_link_xoff_rx() 828 struct i40e_hw_port_stats *osd = &pf->stats_offsets; i40e_update_prio_xoff_rx() local 849 &osd->priority_xoff_rx[i], i40e_update_prio_xoff_rx() 970 struct i40e_hw_port_stats *osd = &pf->stats_offsets; i40e_update_pf_stats() local 979 &osd->eth.rx_bytes, &nsd->eth.rx_bytes); i40e_update_pf_stats() 983 &osd->eth.tx_bytes, &nsd->eth.tx_bytes); i40e_update_pf_stats() 986 &osd->eth.rx_discards, i40e_update_pf_stats() 991 &osd->eth.rx_unicast, i40e_update_pf_stats() 996 &osd->eth.rx_multicast, i40e_update_pf_stats() 1001 &osd->eth.rx_broadcast, i40e_update_pf_stats() 1006 &osd->eth.tx_unicast, i40e_update_pf_stats() 1011 &osd->eth.tx_multicast, i40e_update_pf_stats() 1016 &osd->eth.tx_broadcast, i40e_update_pf_stats() 1021 &osd->tx_dropped_link_down, i40e_update_pf_stats() 1026 &osd->crc_errors, &nsd->crc_errors); i40e_update_pf_stats() 1030 &osd->illegal_bytes, &nsd->illegal_bytes); i40e_update_pf_stats() 1034 &osd->mac_local_faults, i40e_update_pf_stats() 1038 &osd->mac_remote_faults, i40e_update_pf_stats() 1043 &osd->rx_length_errors, i40e_update_pf_stats() 1048 &osd->link_xon_rx, &nsd->link_xon_rx); i40e_update_pf_stats() 1051 &osd->link_xon_tx, &nsd->link_xon_tx); i40e_update_pf_stats() 1055 &osd->link_xoff_tx, &nsd->link_xoff_tx); i40e_update_pf_stats() 1060 &osd->priority_xon_rx[i], i40e_update_pf_stats() 1064 &osd->priority_xon_tx[i], i40e_update_pf_stats() 1068 &osd->priority_xoff_tx[i], i40e_update_pf_stats() 1073 &osd->priority_xon_2_xoff[i], i40e_update_pf_stats() 1080 &osd->rx_size_64, &nsd->rx_size_64); i40e_update_pf_stats() 1084 &osd->rx_size_127, &nsd->rx_size_127); i40e_update_pf_stats() 1088 &osd->rx_size_255, &nsd->rx_size_255); i40e_update_pf_stats() 1092 &osd->rx_size_511, &nsd->rx_size_511); i40e_update_pf_stats() 1096 &osd->rx_size_1023, &nsd->rx_size_1023); i40e_update_pf_stats() 1100 &osd->rx_size_1522, &nsd->rx_size_1522); i40e_update_pf_stats() 1104 &osd->rx_size_big, &nsd->rx_size_big); i40e_update_pf_stats() 1109 &osd->tx_size_64, &nsd->tx_size_64); i40e_update_pf_stats() 1113 &osd->tx_size_127, &nsd->tx_size_127); i40e_update_pf_stats() 1117 &osd->tx_size_255, &nsd->tx_size_255); i40e_update_pf_stats() 1121 &osd->tx_size_511, &nsd->tx_size_511); i40e_update_pf_stats() 1125 &osd->tx_size_1023, &nsd->tx_size_1023); i40e_update_pf_stats() 1129 &osd->tx_size_1522, &nsd->tx_size_1522); i40e_update_pf_stats() 1133 &osd->tx_size_big, &nsd->tx_size_big); i40e_update_pf_stats() 1137 &osd->rx_undersize, &nsd->rx_undersize); i40e_update_pf_stats() 1140 &osd->rx_fragments, &nsd->rx_fragments); i40e_update_pf_stats() 1143 &osd->rx_oversize, &nsd->rx_oversize); i40e_update_pf_stats() 1146 &osd->rx_jabber, &nsd->rx_jabber); i40e_update_pf_stats() 1152 &osd->fd_atr_match, &nsd->fd_atr_match); i40e_update_pf_stats() 1156 &osd->fd_sb_match, &nsd->fd_sb_match); i40e_update_pf_stats() 1160 &osd->fd_atr_tunnel_match, &nsd->fd_atr_tunnel_match); i40e_update_pf_stats() 1171 &osd->tx_lpi_count, &nsd->tx_lpi_count); i40e_update_pf_stats() 1174 &osd->rx_lpi_count, &nsd->rx_lpi_count); i40e_update_pf_stats()
|
/linux-4.4.14/fs/nfs/objlayout/ |
H A D | objlayout.c | 189 * objlayout_io_set_result - Set an osd_error code on a specific osd comp. 226 * This is because the osd completion is called with ints-off from 308 * This is because the osd completion is called with ints-off from
|
H A D | objio_osd.c | 2 * pNFS Objects layout implementation over open-osd initiator library
|
/linux-4.4.14/drivers/scsi/dpt/ |
H A D | osd_util.h | 345 /* osd sleep for x milliseconds */
|
/linux-4.4.14/drivers/media/pci/ttpci/ |
H A D | av7110.h | 15 #include <linux/dvb/osd.h>
|
/linux-4.4.14/include/uapi/linux/dvb/ |
H A D | osd.h | 2 * osd.h
|
/linux-4.4.14/include/linux/ |
H A D | pnfs_osd_xdr.h | 2 * pNFS-osd on-the-wire data structures
|
/linux-4.4.14/arch/arm/mach-davinci/ |
H A D | board-dm355-evm.c | 304 .osd = {
|
H A D | board-dm365-evm.c | 527 .osd = {
|
H A D | board-dm644x-evm.c | 713 .osd = {
|
/linux-4.4.14/drivers/staging/lustre/lustre/osc/ |
H A D | osc_io.c | 491 struct osc_device *osd = lu2osc_dev(obj->co_lu.lo_dev); osc_io_setattr_end() local 495 osd->od_stats.os_lockless_truncates++; osc_io_setattr_end()
|
H A D | osc_lock.c | 955 const struct osc_device *osd = lu2osc_dev(obj->co_lu.lo_dev); osc_lock_to_lockless() local 972 osd->od_lockless_truncate)) { osc_lock_to_lockless()
|
/linux-4.4.14/drivers/staging/lustre/lustre/libcfs/ |
H A D | debug.c | 281 return "osd"; libcfs_debug_subsys2str()
|
/linux-4.4.14/drivers/media/dvb-core/ |
H A D | dvbdev.c | 50 "net", "osd"
|
/linux-4.4.14/drivers/gpu/drm/exynos/ |
H A D | exynos_drm_fimd.c | 701 DRM_DEBUG_KMS("osd pos: tx = %d, ty = %d, bx = %d, by = %d\n", fimd_update_plane() 712 DRM_DEBUG_KMS("osd size = 0x%x\n", (unsigned int)val); fimd_update_plane()
|
H A D | exynos7_drm_decon.c | 468 DRM_DEBUG_KMS("osd pos: tx = %d, ty = %d, bx = %d, by = %d\n", decon_update_plane()
|
/linux-4.4.14/drivers/staging/lustre/lustre/include/ |
H A D | obd.h | 539 #define LUSTRE_OSD_LDISKFS_NAME "osd-ldiskfs" 540 #define LUSTRE_OSD_ZFS_NAME "osd-zfs"
|
/linux-4.4.14/drivers/staging/lustre/lustre/obdclass/ |
H A D | obd_mount.c | 992 } else if (strncmp(s1, "osd=", 4) == 0) { lmd_parse()
|