On Wed, Aug 14, 2019 at 09:22:53AM +0530, Pratik Shinde wrote:
> Yes.since we already have a function with same name (and we are using it in
> same context).
> 'inode_loc' was the most meaningful name I could come up with :)
>
> --Pratik.
And one more small suggestion... see the following,
-Salyzyn/Add-flags-option-to-get-xattr-method-paired-to-__vfs_getxattr/20190814-124805
config: nds32-allmodconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 8.1.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
For each physical cluster, there is a straight-forward
way of allocating a fixed or variable-sized array to
record the corresponding file pages for its decompression
if we decide to decompress these pages asynchronously
(eg. read-ahead case), however it will take variable-sized
on-heap memory
This commit adds the on-disk layout header file of erofs.
On-disk format is compatible with erofs-staging added in 4.19.
In addition, add EROFS_SUPER_MAGIC_V1 to magic.h.
Signed-off-by: Gao Xiang
---
fs/erofs/erofs_fs.h| 316 +
This patch adds strategies which can be selected
by users in order to cache both incomplete ends of
compressed physical clusters as a complement of
in-place I/O in order to boost random read, but
it costs more memory than the in-place I/O only.
Signed-off-by: Gao Xiang
---
fs/erofs/internal.h |
Currently kernel has scattered tagged pointer usages
hacked by hand in plain code, without a unique and
portable functionset to highlight the tagged pointer
itself and wrap these hacked code in order to clean up
all over meaningless magic masks.
This patch introduces simple generic methods to
This patch introduces the basic inplace fixed-sized
output decompression implementation for erofs
filesystem.
In constant to fixed-sized input compression, it has
fixed-sized capacity for each compressed cluster to
contain compressed data with the following advantages:
1) improved storage
This commit adds erofs super block operations, including (u)mount,
remount_fs, show_options, statfs, in addition to some private
icache management functions.
Signed-off-by: Gao Xiang
---
fs/erofs/super.c | 437 +++
1 file changed, 437 insertions(+)
This patch adds a dedicated shrinker targeting to free
unneeded memory consumed by a number of erofs in-memory
data structures.
Like F2FS and UBIFS, it also adds:
- sbi->umount_mutex to avoid races on shrinker and put_super;
- sbi->shrinker_run_no to not revisit recently scanned objects.
This patch introduces an temporary _on-stack_ page
pool to reuse the freed page directly as much as
it can for better performance and release all pages
at a time, it also slightly reduces the possibility of
the potential memory allocation failure.
Signed-off-by: Gao Xiang
---
In order to introducing shrinker solution for erofs,
let's manage all mounted erofs instances at first.
Signed-off-by: Gao Xiang
---
fs/erofs/Makefile | 2 +-
fs/erofs/internal.h | 13 +
fs/erofs/super.c| 9 +
fs/erofs/utils.c| 32
This commit adds functions for meta and raw data, and also
provides address_space_operations for raw data access.
Signed-off-by: Gao Xiang
---
fs/erofs/data.c | 419
1 file changed, 419 insertions(+)
create mode 100644 fs/erofs/data.c
diff
This documents key features, usage, and
on-disk design of erofs.
Signed-off-by: Gao Xiang
---
Documentation/filesystems/erofs.txt | 225
1 file changed, 225 insertions(+)
create mode 100644 Documentation/filesystems/erofs.txt
diff --git
[I strip the previous cover letter, the old one can be found in v6:
https://lore.kernel.org/r/20190802125347.166018-1-gaoxian...@huawei.com/]
We'd like to submit a formal moving patch applied to staging tree
for 5.4, before that we'd like to hear if there are some ACKs,
suggestions or NAKs,
This patch adds to support special inode, such as
block dev, char, socket, pipe inode.
Signed-off-by: Gao Xiang
---
fs/erofs/inode.c | 32 ++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
index
Add basic tracepoints for ->readpage{,s}, ->lookup,
->destroy_inode, fill_inode and map_blocks.
Signed-off-by: Gao Xiang
---
include/trace/events/erofs.h | 241 +++
1 file changed, 241 insertions(+)
create mode 100644 include/trace/events/erofs.h
diff --git
This adds functions for directory, mainly readdir.
Signed-off-by: Gao Xiang
---
fs/erofs/dir.c | 148 +
1 file changed, 148 insertions(+)
create mode 100644 fs/erofs/dir.c
diff --git a/fs/erofs/dir.c b/fs/erofs/dir.c
new file mode 100644
index
compressed data will be usually loaded into last pages of
the extent (the last page for 4k) for in-place decompression
(more specifically, in-place IO), as ilustration below,
start of compressed logical extent
| end of this logical extent
|
For some specific fields, use EOPNOTSUPP instead of EIO
for values which look sane but aren't supported right now.
Reviewed-by: Chao Yu
Signed-off-by: Gao Xiang
---
change log from v1:
- use EOPNOTSUPP rather than ENOTSUPP pointed by Chao;
drivers/staging/erofs/inode.c | 4 ++--
On Tue 13-08-19 07:55:06, Mark Salyzyn wrote:
...
> diff --git a/fs/xattr.c b/fs/xattr.c
> index 90dd78f0eb27..71f887518d6f 100644
> --- a/fs/xattr.c
> +++ b/fs/xattr.c
...
> ssize_t
> __vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
> -void *value, size_t
On 2019/8/14 12:32, Gao Xiang wrote:
> For some specific fields, use ENOTSUPP instead of EIO
> for values which look sane but aren't supported right now.
>
> Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
> + return -ENOTSUPP;
A little bit confused about when we need to use
On 2019/8/14 12:32, Gao Xiang wrote:
> Previously, EROFS uses EIO to indicate that filesystem is
> corrupted as well, but other filesystems tend to use
> EUCLEAN instead, let's follow what others do right now.
>
> Also, add some more prints to the syslog.
>
> Suggested-by: Pavel Machek
>
22 matches
Mail list logo