summaryrefslogtreecommitdiffstats
path: root/fs
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-next/net'Sascha Hauer2015-08-062-6/+3
|\
| * fs/nfs.c: use SUNRPC_PORT remote port by defaultAntony Pavlov2015-07-201-1/+1
| | | | | | | | | | | | | | pico_socket_connect() needs remote_port != 0. Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * fs/nfs.c: use uint16_t for port numbersAntony Pavlov2015-07-201-2/+2
| | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * fs/tftp.c: drop unused server_port variableAntony Pavlov2015-07-201-3/+0
| | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efivars: read the attributes on the second get_variable()Michael Olbrich2015-07-271-3/+4
| | | | | | | | | | | | | | | | Some EFI get_variable() implementations don't set the attributes when returning EFI_BUFFER_TOO_SMALL. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efivars: add more error checkingMichael Olbrich2015-07-271-4/+12
| | | | | | | | | | Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efivars: use xstrdup_* when appropriateMichael Olbrich2015-07-271-3/+3
| | | | | | | | | | Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efi: use xstrdup_* when appropriateMichael Olbrich2015-07-271-2/+2
| | | | | | | | | | Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | drop <stddef.h> includesSascha Hauer2015-07-231-1/+0
|/ | | | | | | The compilers stddef.h should not be included. We declare all types ourselves. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/blspec'Sascha Hauer2015-07-063-0/+84
|\
| * fs: nfs: Implement Linux rootargSascha Hauer2015-06-181-0/+24
| | | | | | | | | | | | | | Add the root= parameter for NFS filesystems. We currently hardcode v3 and tcp which probably needs to become configurable at some point. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * fs: ubifs: Implement Linux rootargSascha Hauer2015-06-181-0/+23
| | | | | | | | | | | | | | | | Add the parameter to boot from ubifs fileystems. This assumes that there will be only one UBI device registered in the kernel, otherwise there is no way to predict the ubi number. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * fs: Add device parameter for Linux root= optionSascha Hauer2015-06-181-0/+37
| | | | | | | | | | | | | | | | | | | | When registering a filesystem device add a device parameter suitable for the Linux root= option to boot from exactly this filesystem. Currently the fs layer sets this parameter to the root=PARTUUID= mechanism if a partuuid is available. Other filesystems like NFS and UBIFS which do not have a PARTUUID can overwrite this. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/net'Sascha Hauer2015-07-031-21/+26
|\ \
| * | tftp_recv(): handle opcode field in a more natural wayAntony Pavlov2015-06-291-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RFC1350 uses the 'opcode' term for the first 2-bytes field of TFTP packet. But the U-boot tftp code uses the 'proto' term for the same thing. The patch takes back original term and makes opcode calculation more clear. Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | tftp_recv(): according to RFC1350 minimal tftp packet length is 4 bytesAntony Pavlov2015-06-291-3/+2
| | | | | | | | | | | | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | fs/tftp: handle incoming packets in the separate tftp_recv() functionAntony Pavlov2015-06-291-10/+17
| |/ | | | | | | | | | | | | | | The separation of incoming packets handling makes it much easier to run barebox tftp client on top of picotcp network stack in the future. Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* / treewide: fix 'new blank line at EOF' formatting errorAntony Pavlov2015-07-023-3/+0
|/ | | | | Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2015-06-091-8/+5
|\
| * mem: Fix memcpy_sz variable typesSascha Hauer2015-05-151-8/+5
| | | | | | | | | | | | | | | | - Drop usage of 'ulong', use unsigned long - remove unnecessary intermediate casting to unsigned long - Use proper u8/u16/u32 types. Fixes 64bit systems on which ulong is 64bit Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: Add O_RWSIZE_8Sascha Hauer2015-05-281-0/+3
|/ | | | | | To support native 64bit accesses in memcpy_sz. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/fs'Sascha Hauer2015-03-0913-59/+59
|\
| * fs: rename inode member of struct filep to privSascha Hauer2015-03-0913-59/+59
| | | | | | | | | | | | | | Because that's what it is. 'inode' will become confusing once we support real inodes. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: make "offset" parameter of erase() and protect() 64 bit safeMarc Kleine-Budde2015-03-031-2/+2
|/ | | | | Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* linux/kernel.h: rename USHORT_MAX, SHORT_MAX, SHORT_MINMasahiro Yamada2015-01-211-1/+1
| | | | | | | | Linux uses SHRT_* instead of SHORT_*. The <limits.h> of C does the same. Let's follow this standard. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* fs: ubifs: remove redundant macro definesMasahiro Yamada2015-01-211-4/+0
| | | | | | | | | | fs/ubifs/ubifs.h includes <common.h> and the macros INT_MAX, INT_MIN, LLONG_MAX are already defined there. The same defines in fs/ubifs/ubifs.h are redundant. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2015-01-092-2/+2
|\
| * sizes.h: move include/sizes.h to include/linux/sizes.hMasahiro Yamada2015-01-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This file originates in Linux. Linux has it under include/linux/ directory since commit dccd2304cc90. Let's move it to the same place as well in barebox. This commit was generated by the following commands: find -name '*.[chS]' | xargs sed -i -e 's:<sizes.h>:<linux/sizes.h>:' git mv include/sizes.h include/linux/ Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efivars: implement write supportLucas Stach2014-12-091-0/+105
| | | | | | | | | | | | | | | | Implement the standard FS ops for writing/manipulating efivars. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efivars: don't store attributes in fileLucas Stach2014-12-091-7/+6
| | | | | | | | | | | | | | | | | | We don't have a use-case yet where we need to manipulate the attributes of a variable and it confuses "normal" users of the variables. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efivar: preserve more info in inodeLucas Stach2014-12-091-5/+10
| | | | | | | | | | | | | | Preserve info needed for easy manipulation of variables. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efivar: move variable discovery into probeLucas Stach2014-12-091-51/+58
| | | | | | | | | | | | | | So we can manipulate things easier. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efivar: switch to standard list implementationLucas Stach2014-12-091-21/+13
| | | | | | | | | | | | | | | | Cleans the code a bit and will allow us to implement removing of vars quite a bit easier. Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: efivars: cosmetic changesLucas Stach2014-12-091-4/+4
|/ | | | | Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/randconfig-1'Sascha Hauer2014-12-081-0/+1
|\
| * fs: bpkfs: select CRC32Sascha Hauer2014-11-281-0/+1
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: uImagefs: select crc32Sascha Hauer2014-11-271-0/+1
|/ | | | | | It needs it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* fs: implement fstatSascha Hauer2014-10-081-0/+16
| | | | | | | fstat is useful to get information about an already opened file. Add it to barebox. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* fs: Store the path in struct filepSascha Hauer2014-10-081-0/+5
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* fs: do not lookup global FILE * when the file is already availableSascha Hauer2014-10-081-1/+1
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* fs: store pointer to fsdev instead of dev in struct filepSascha Hauer2014-10-082-50/+29
| | | | | | | | The struct device_d * in struct filep is never of interest, instead it is always converted to a struct fs_device_d *, so simplify the code by storing the struct fs_device_d * directly. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/metadata'Sascha Hauer2014-08-072-72/+1
|\ | | | | | | | | | | | | Conflicts: arch/arm/dts/Makefile common/Makefile lib/Makefile
| * move file helper functions to separate fileSascha Hauer2014-08-072-72/+1
| | | | | | | | | | | | | | | | | | | | We have our file helper functions in several places. Move them all to lib/libfile.c. With this we no longer have file helpers in fs/fs.c which contains the core fs functions and no functions in lib/libbb.c which are not from busybox. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/efi'Sascha Hauer2014-08-075-2/+922
|\ \ | |/ |/| | | | | | | | | Conflicts: .gitignore Makefile drivers/serial/Makefile
| * fs: implement EFI variable filesystem driverSascha Hauer2014-07-163-0/+348
| | | | | | | | | | | | | | | | This implements a filesystem for accessing EFI variables. It is compatible to the Linux Kernel efivarfs filesystem. Currently the variables can only be accessed readonly. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * fs: implement EFI filesystem driverSascha Hauer2014-07-163-0/+572
| | | | | | | | | | | | | | This implements a filesystem driver which uses the EFI Simple File System Protocol to provide files from EFI to barebox. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * fat: Use correct format specifierSascha Hauer2014-07-111-2/+2
| | | | | | | | | | | | Use %zd to print size_t arguments. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: ext4: le32_to_cpu() used on a 16-bit fieldSascha Hauer2014-07-251-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From U-Boot commit: | commit 8b415f703f88d1d3b0466830047affbbf7f24913 | Author: Rommel Custodio <sessyargc+uboot@gmail.com> | Date: Sun Jul 21 10:53:25 2013 +0200 | | ext4fs: le32_to_cpu() used on a 16-bit field | | Fix reading ext4_extent_header struture on BE machines. Some 16 bit | fields where converted to 32 bit fields, due to the byte swap on BE | machines the containing value was corrupted. Therefore reading ext4 | filesystems on BE machines where broken before. | | Signed-off-by: Rommel Custodio <sessyargc+uboot@gmail.com> | [sent via git-send-email; rework commit message] | Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> | Reviewed-by: Simon Glass <sjg@chromium.org> | Tested-by: Simon Glass <sjg@chromium.org> | Tested-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: ext4: use EXT2_BLOCK_SIZE instead of fs->blkszSascha Hauer2014-07-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From U-Boot commit: | commit 470173274d9ceb18a7140ef93e20be6c2236e7d9 | Author: Ionut Nicu <ioan.nicu.ext@nsn.com> | Date: Mon Jan 13 11:59:24 2014 +0100 | | ext4fs: use EXT2_BLOCK_SIZE instead of fs->blksz | | Using fs->blksz in ext4fs_get_extent_block() is not | correct since fs->blksz is not initialized on the | read path. Use EXT2_BLOCK_SIZE() instead which will | produce the desired output. | | Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com> | Signed-off-by: Mathias Rulf <mathias.rulf@nsn.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | fs: ext4: fix "invalid extent block" errorSascha Hauer2014-07-251-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From U-Boot commit: | commit b5bbac1a9b07016602559ff483df265fef6c1f83 | Author: Ionut Nicu <ioan.nicu.ext@nsn.com> | Date: Mon Jan 13 12:00:08 2014 +0100 | | ext4fs: fix "invalid extent block" error | | For files where we actually have extent indexes following | an extent header (ext_block->eh_depth != 0), the do/while | loop from ext4fs_get_extent_block() does not select the | proper extent index structure. | | For example, if we have: | | ext_block->eh_depth = 1 | ext_block->eh_entries = 1 | fileblock = 0 | index[0].ei_block = 0 | | the do/while loop will exit with i set to 0 and the | ext4fs_get_extent_block() function will return 0, even if | there was a valid extent index structure following the | header. | | Signed-off-by: Ionut Nicu <ioan.nicu.ext@nsn.com> | Signed-off-by: Mathias Rulf <mathias.rulf@nsn.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>