io.c (d4bbf7e7759afc172e2bfbc5c416324590049cdd) | io.c (7c46d0ae29ba880963db283706950de7aa86c0a0) |
---|---|
1/* 2 * This file is part of UBIFS. 3 * 4 * Copyright (C) 2006-2008 Nokia Corporation. 5 * Copyright (C) 2006, 2007 University of Szeged, Hungary 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License version 2 as published by --- 95 unchanged lines hidden (view full) --- 104 err = ubi_read(c->ubi, lnum, buf, offs, len); 105 /* 106 * In case of %-EBADMSG print the error message only if the 107 * @even_ebadmsg is true. 108 */ 109 if (err && (err != -EBADMSG || even_ebadmsg)) { 110 ubifs_err("reading %d bytes from LEB %d:%d failed, error %d", 111 len, lnum, offs, err); | 1/* 2 * This file is part of UBIFS. 3 * 4 * Copyright (C) 2006-2008 Nokia Corporation. 5 * Copyright (C) 2006, 2007 University of Szeged, Hungary 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License version 2 as published by --- 95 unchanged lines hidden (view full) --- 104 err = ubi_read(c->ubi, lnum, buf, offs, len); 105 /* 106 * In case of %-EBADMSG print the error message only if the 107 * @even_ebadmsg is true. 108 */ 109 if (err && (err != -EBADMSG || even_ebadmsg)) { 110 ubifs_err("reading %d bytes from LEB %d:%d failed, error %d", 111 len, lnum, offs, err); |
112 dbg_dump_stack(); | 112 dump_stack(); |
113 } 114 return err; 115} 116 117int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs, 118 int len, int dtype) 119{ 120 int err; --- 4 unchanged lines hidden (view full) --- 125 if (!dbg_is_tst_rcvry(c)) 126 err = ubi_leb_write(c->ubi, lnum, buf, offs, len, dtype); 127 else 128 err = dbg_leb_write(c, lnum, buf, offs, len, dtype); 129 if (err) { 130 ubifs_err("writing %d bytes to LEB %d:%d failed, error %d", 131 len, lnum, offs, err); 132 ubifs_ro_mode(c, err); | 113 } 114 return err; 115} 116 117int ubifs_leb_write(struct ubifs_info *c, int lnum, const void *buf, int offs, 118 int len, int dtype) 119{ 120 int err; --- 4 unchanged lines hidden (view full) --- 125 if (!dbg_is_tst_rcvry(c)) 126 err = ubi_leb_write(c->ubi, lnum, buf, offs, len, dtype); 127 else 128 err = dbg_leb_write(c, lnum, buf, offs, len, dtype); 129 if (err) { 130 ubifs_err("writing %d bytes to LEB %d:%d failed, error %d", 131 len, lnum, offs, err); 132 ubifs_ro_mode(c, err); |
133 dbg_dump_stack(); | 133 dump_stack(); |
134 } 135 return err; 136} 137 138int ubifs_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len, 139 int dtype) 140{ 141 int err; --- 4 unchanged lines hidden (view full) --- 146 if (!dbg_is_tst_rcvry(c)) 147 err = ubi_leb_change(c->ubi, lnum, buf, len, dtype); 148 else 149 err = dbg_leb_change(c, lnum, buf, len, dtype); 150 if (err) { 151 ubifs_err("changing %d bytes in LEB %d failed, error %d", 152 len, lnum, err); 153 ubifs_ro_mode(c, err); | 134 } 135 return err; 136} 137 138int ubifs_leb_change(struct ubifs_info *c, int lnum, const void *buf, int len, 139 int dtype) 140{ 141 int err; --- 4 unchanged lines hidden (view full) --- 146 if (!dbg_is_tst_rcvry(c)) 147 err = ubi_leb_change(c->ubi, lnum, buf, len, dtype); 148 else 149 err = dbg_leb_change(c, lnum, buf, len, dtype); 150 if (err) { 151 ubifs_err("changing %d bytes in LEB %d failed, error %d", 152 len, lnum, err); 153 ubifs_ro_mode(c, err); |
154 dbg_dump_stack(); | 154 dump_stack(); |
155 } 156 return err; 157} 158 159int ubifs_leb_unmap(struct ubifs_info *c, int lnum) 160{ 161 int err; 162 163 ubifs_assert(!c->ro_media && !c->ro_mount); 164 if (c->ro_error) 165 return -EROFS; 166 if (!dbg_is_tst_rcvry(c)) 167 err = ubi_leb_unmap(c->ubi, lnum); 168 else 169 err = dbg_leb_unmap(c, lnum); 170 if (err) { 171 ubifs_err("unmap LEB %d failed, error %d", lnum, err); 172 ubifs_ro_mode(c, err); | 155 } 156 return err; 157} 158 159int ubifs_leb_unmap(struct ubifs_info *c, int lnum) 160{ 161 int err; 162 163 ubifs_assert(!c->ro_media && !c->ro_mount); 164 if (c->ro_error) 165 return -EROFS; 166 if (!dbg_is_tst_rcvry(c)) 167 err = ubi_leb_unmap(c->ubi, lnum); 168 else 169 err = dbg_leb_unmap(c, lnum); 170 if (err) { 171 ubifs_err("unmap LEB %d failed, error %d", lnum, err); 172 ubifs_ro_mode(c, err); |
173 dbg_dump_stack(); | 173 dump_stack(); |
174 } 175 return err; 176} 177 178int ubifs_leb_map(struct ubifs_info *c, int lnum, int dtype) 179{ 180 int err; 181 182 ubifs_assert(!c->ro_media && !c->ro_mount); 183 if (c->ro_error) 184 return -EROFS; 185 if (!dbg_is_tst_rcvry(c)) 186 err = ubi_leb_map(c->ubi, lnum, dtype); 187 else 188 err = dbg_leb_map(c, lnum, dtype); 189 if (err) { 190 ubifs_err("mapping LEB %d failed, error %d", lnum, err); 191 ubifs_ro_mode(c, err); | 174 } 175 return err; 176} 177 178int ubifs_leb_map(struct ubifs_info *c, int lnum, int dtype) 179{ 180 int err; 181 182 ubifs_assert(!c->ro_media && !c->ro_mount); 183 if (c->ro_error) 184 return -EROFS; 185 if (!dbg_is_tst_rcvry(c)) 186 err = ubi_leb_map(c->ubi, lnum, dtype); 187 else 188 err = dbg_leb_map(c, lnum, dtype); 189 if (err) { 190 ubifs_err("mapping LEB %d failed, error %d", lnum, err); 191 ubifs_ro_mode(c, err); |
192 dbg_dump_stack(); | 192 dump_stack(); |
193 } 194 return err; 195} 196 197int ubifs_is_mapped(const struct ubifs_info *c, int lnum) 198{ 199 int err; 200 201 err = ubi_is_mapped(c->ubi, lnum); 202 if (err < 0) { 203 ubifs_err("ubi_is_mapped failed for LEB %d, error %d", 204 lnum, err); | 193 } 194 return err; 195} 196 197int ubifs_is_mapped(const struct ubifs_info *c, int lnum) 198{ 199 int err; 200 201 err = ubi_is_mapped(c->ubi, lnum); 202 if (err < 0) { 203 ubifs_err("ubi_is_mapped failed for LEB %d, error %d", 204 lnum, err); |
205 dbg_dump_stack(); | 205 dump_stack(); |
206 } 207 return err; 208} 209 210/** 211 * ubifs_check_node - check node. 212 * @c: UBIFS file-system description object 213 * @buf: node to check --- 76 unchanged lines hidden (view full) --- 290 291out_len: 292 if (!quiet) 293 ubifs_err("bad node length %d", node_len); 294out: 295 if (!quiet) { 296 ubifs_err("bad node at LEB %d:%d", lnum, offs); 297 dbg_dump_node(c, buf); | 206 } 207 return err; 208} 209 210/** 211 * ubifs_check_node - check node. 212 * @c: UBIFS file-system description object 213 * @buf: node to check --- 76 unchanged lines hidden (view full) --- 290 291out_len: 292 if (!quiet) 293 ubifs_err("bad node length %d", node_len); 294out: 295 if (!quiet) { 296 ubifs_err("bad node at LEB %d:%d", lnum, offs); 297 dbg_dump_node(c, buf); |
298 dbg_dump_stack(); | 298 dump_stack(); |
299 } 300 return err; 301} 302 303/** 304 * ubifs_pad - pad flash space. 305 * @c: UBIFS file-system description object 306 * @buf: buffer to put padding to --- 530 unchanged lines hidden (view full) --- 837 new_wbuf_timer_nolock(wbuf); 838 839 return 0; 840 841out: 842 ubifs_err("cannot write %d bytes to LEB %d:%d, error %d", 843 len, wbuf->lnum, wbuf->offs, err); 844 dbg_dump_node(c, buf); | 299 } 300 return err; 301} 302 303/** 304 * ubifs_pad - pad flash space. 305 * @c: UBIFS file-system description object 306 * @buf: buffer to put padding to --- 530 unchanged lines hidden (view full) --- 837 new_wbuf_timer_nolock(wbuf); 838 839 return 0; 840 841out: 842 ubifs_err("cannot write %d bytes to LEB %d:%d, error %d", 843 len, wbuf->lnum, wbuf->offs, err); 844 dbg_dump_node(c, buf); |
845 dbg_dump_stack(); | 845 dump_stack(); |
846 dbg_dump_leb(c, wbuf->lnum); 847 return err; 848} 849 850/** 851 * ubifs_write_node - write node to the media. 852 * @c: UBIFS file-system description object 853 * @buf: the node to write --- 102 unchanged lines hidden (view full) --- 956 goto out; 957 } 958 959 return 0; 960 961out: 962 ubifs_err("bad node at LEB %d:%d", lnum, offs); 963 dbg_dump_node(c, buf); | 846 dbg_dump_leb(c, wbuf->lnum); 847 return err; 848} 849 850/** 851 * ubifs_write_node - write node to the media. 852 * @c: UBIFS file-system description object 853 * @buf: the node to write --- 102 unchanged lines hidden (view full) --- 956 goto out; 957 } 958 959 return 0; 960 961out: 962 ubifs_err("bad node at LEB %d:%d", lnum, offs); 963 dbg_dump_node(c, buf); |
964 dbg_dump_stack(); | 964 dump_stack(); |
965 return -EINVAL; 966} 967 968/** 969 * ubifs_read_node - read node. 970 * @c: UBIFS file-system description object 971 * @buf: buffer to read to 972 * @type: node type --- 40 unchanged lines hidden (view full) --- 1013 } 1014 1015 return 0; 1016 1017out: 1018 ubifs_err("bad node at LEB %d:%d, LEB mapping status %d", lnum, offs, 1019 ubi_is_mapped(c->ubi, lnum)); 1020 dbg_dump_node(c, buf); | 965 return -EINVAL; 966} 967 968/** 969 * ubifs_read_node - read node. 970 * @c: UBIFS file-system description object 971 * @buf: buffer to read to 972 * @type: node type --- 40 unchanged lines hidden (view full) --- 1013 } 1014 1015 return 0; 1016 1017out: 1018 ubifs_err("bad node at LEB %d:%d, LEB mapping status %d", lnum, offs, 1019 ubi_is_mapped(c->ubi, lnum)); 1020 dbg_dump_node(c, buf); |
1021 dbg_dump_stack(); | 1021 dump_stack(); |
1022 return -EINVAL; 1023} 1024 1025/** 1026 * ubifs_wbuf_init - initialize write-buffer. 1027 * @c: UBIFS file-system description object 1028 * @wbuf: write-buffer to initialize 1029 * --- 127 unchanged lines hidden --- | 1022 return -EINVAL; 1023} 1024 1025/** 1026 * ubifs_wbuf_init - initialize write-buffer. 1027 * @c: UBIFS file-system description object 1028 * @wbuf: write-buffer to initialize 1029 * --- 127 unchanged lines hidden --- |