gt; diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
> index 7aa70b5..d3f5a70 100644
> --- a/fs/f2fs/f2fs.h
> +++ b/fs/f2fs/f2fs.h
> @@ -14,7 +14,6 @@
> #include
> #include
> #include
> -#include
> #include
> #include
> #include
--
Jaegeuk Kim
Samsung
sign
fter iput() is completed.
Otherwise, another f2fs_new_inode() is able to get this just-released
nid before iput(). In such a case, insert_inode_locked() can return
-EBUSY or iput() can free this newly allocated inode due to the i_lock
race.
Thanks,
> return ERR_PTR(err);
> }
>
--
Jaegeuk Kim
Samsung
signature.asc
Description: This is a digitally signed message part
nge(sbi, inode->i_ino)) {
> + f2fs_msg(inode->i_sb, KERN_ERR, "bad inode number: %lu",
> + (unsigned long) inode->i_ino);
> + return -EINVAL;
> + }
>
> node_page = get_node_page(sbi, inode->i_ino);
> if (IS_ERR(node_page))
--
Jaegeuk Kim
Samsung
signature.asc
Description: This is a digitally signed message part
2013-03-18 (월), 14:23 +0900, Namjae Jeon:
> 2013/3/18, Jaegeuk Kim :
> > 2013-03-17 (일), 17:27 +0900, Namjae Jeon:
> >> From: Namjae Jeon
> >>
> >> In function check_nid_range, there is no need to trigger BUG_ON and make
> >> kernel stop.
> >&
If the node page was truncated, its block address became zero.
This means that we don't need to write the node page, but have to unlock
NODE_WRITE, decrease the number of dirty node pages, and then unlock_page
before returning the f2fs_write_node_page with zero.
Signed-off-by: Jaegeu
s_readpage returns unlocked page, or released page too in error cases.
- Its caller should handle read error, -EIO, after locking the page, which
indicates read completion.
- Its caller should check PageUptodate after grab_cache_page.
Signed-off-by: Changman Lee
Signed-off-by: Jaegeuk Kim
--
Currently, f2fs doesn't reclaim any node pages.
However, if we found that a node page was truncated by checking its block
address with zero during f2fs_write_node_page, we should not skip that node
page and return zero to reclaim it.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/node.c
n the node_inode's address
space.
This means that we can retain lots of clean pages in the main memory, which
induces mm's reclaiming overhead.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/node.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/node.c b/fs/f2
If the return value of releasepage is equal to zero, the page cannot be
reclaimed.
Instead, we should return 1 in order to reclaim clean pages.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/data.c | 4 +++-
fs/f2fs/node.c | 13 +++--
2 files changed, 6 insertions(+), 11 deletions(-)
diff
st NAT page
- scan_nat_page can add 100 ~ 200 nids
-> Bug here!
So, when scanning an NAT page, we should check each candidate whether it is
over max_nid or not.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/node.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
The fsync call should be ended after flushing the in-device caches.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/file.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 269645e..ff018a4 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -13,6 +13,7
2013-03-18 (월), 18:29 +0900, Namjae Jeon:
> 2013/3/18, Jaegeuk Kim :
> > The build_free_nid should not add free nids over nm_i->max_nid.
> > But, there was a hole that invalid free nid was added by the following
> > scenario.
> >
> > Let's suppose nm_i->
2013-03-18 (월), 20:39 +0900, Namjae Jeon:
> 2013/3/18, Jaegeuk Kim :
> > If the return value of releasepage is equal to zero, the page cannot be
> > reclaimed.
> > Instead, we should return 1 in order to reclaim clean pages.
> >
> > Signed-off-by: Jaegeuk Kim
return ERR_PTR(-EIO);
> > }
> > return page;
> > }
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Jaegeuk Kim
Samsung
signature.asc
Description: This is a digitally signed message part
o care about real
existence. Let's get and check the status of the page without any locks.
Thanks,
--
Jaegeuk Kim
Samsung
signature.asc
Description: This is a digitally signed message part
{
> > .llseek = generic_file_llseek,
> > .read = do_sync_read,
> > @@ -655,6 +672,9 @@ const struct file_operations f2fs_file_operations = {
> > .fsync = f2fs_sync_file,
> > .fallocate = f2fs_fallocate,
> > .unlocked
2013-02-05 (화), 16:02 +0900, Namjae Jeon:
> 2013/2/5, Jaegeuk Kim :
> > Hi,
> >
> > 2013-02-05 (화), 14:28 +0900, Namjae Jeon:
> >> Hi Jaegeuk.
> >>
> >> Oops!, I was missing include header.
> >> Sorry, I will send v2 patch again.
> >
c_thread_func, sbi,
> - "f2fs_gc-%s", dev_name(sbi->sb->s_bdi->dev));
> + "f2fs_gc-%u:%u", MAJOR(dev), MINOR(dev));
> if (IS_ERR(gc_th->f2fs_gc_task)) {
> kfree(gc_th);
> sbi->gc_thread = NULL;
--
Jaegeuk Kim
Samsung
signature.asc
Description: This is a digitally signed message part
Hi,
2013-02-06 (수), 13:59 +0900, Namjae Jeon:
> 2013/2/6, Jaegeuk Kim :
> > Hi,
> >
> > How about this?
> >
> > 2013-02-05 (화), 23:24 +0900, Namjae Jeon:
> >> From: Namjae Jeon
> >>
> >> After the commit 2184ad190a79ae2b40b5f5db1fbde5c2
cessary gc option check and balance_fs
Jaegeuk Kim (6):
f2fs: prevent checkpoint once any IO failure is detected
f2fs: cover global locks for reserve_new_block
f2fs: remove the use of page_cache_release
f2fs: avoid balanc_fs during evict_inode
f2fs: clarify and enhance t
es. I already looked away once just because
> it's a new filesystem, but enough is enough. This is way way WAY too
> late to start sendign "enhancements". Seriously.
>
> Send them for the next merge window. Not just before rc7.
>
> Linus
>
> O
veral patches to that sucker;
> commits f3d9d7e..10e4e72 in vfs.git. I can send them to f2fs tree or
> have them go in vfs one, but this stuff needs to be dealt with. Fake
> struct dentry on stack is a bad thing with capital Hell No...
Hi Al,
Could you send the patches to me?
I'
if -
mapping->a_ops->writepage -
is NULL.
Signed-off-by: P J P
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/data.c | 4
1 file changed, 4 insertions(+)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 47a2d7c..cf9ff5f 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -559,6 +559,10 @@ s
Hi,
2013-04-03 (수), 12:30 +0530, P J P:
> +-- On Wed, 3 Apr 2013, Jaegeuk Kim wrote --+
> | diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
> | index 47a2d7c..cf9ff5f 100644
> | --- a/fs/f2fs/data.c
> | +++ b/fs/f2fs/data.c
> | @@ -559,6 +559,10 @@ static int f2fs_write
Hi,
Agreed, and resolved all the issues like below.
Thanks,
change log from v1:
o change local variable position
o change function shape
o add NULL_SECNO
From f1802031a467751df6475bd3f56300137fd2ac34 Mon Sep 17 00:00:00 2001
From: Jaegeuk Kim
Date: Sun, 31 Mar 2013 13:26:03 +0900
Subject
Hi,
Agreed, and send v2.
Change log from v1:
o remain read_node_page and remove the lock part
From 04006aecac2882c574fe8a7de926bc52c73a8ad1 Mon Sep 17 00:00:00 2001
From: Jaegeuk Kim
Date: Sun, 31 Mar 2013 12:47:20 +0900
Subject: [PATCH] f2fs: remove redundant lock_page calls
Cc: linux-fsde
Hi,
2013-04-03 (수), 14:43 +0530, P J P:
> +-- On Wed, 3 Apr 2013, Jaegeuk Kim wrote --+
> | I'm confusing the question because f2fs doesn't use generic_writepages(),
> | since f2fs_write_data_pages() is linked to a_ops->writepages. In
> | do_writepages(), always f
ckpoint.
5. block_operations()
- call mutex_lock_all()
- sync_dirty_dir_inodes()
- grab node_write
- sync_node_pages()
Note that,
the pairs of mutex_lock_op()/mutex_unlock_op() and
mutex_lock_all()/mutex_unlock_all() should be used together.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/checkpo
2001
From: Jaegeuk Kim
Date: Thu, 22 Nov 2012 16:21:29 +0900
Subject: [PATCH] f2fs: introduce a new global lock scheme
Cc: linux-fsde...@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-f2fs-de...@lists.sourceforge.net
In the previous version, f2fs uses global locks according to the usage
amp;& has_not_enough_free_secs(sbi))
Thank you. :)
> gc_type = FG_GC;
>
> if (!__get_victim(sbi, &segno, gc_type, NO_CHECK_TYPE))
--
Jaegeuk Kim
Samsung
signature.asc
Description: This is a digitally signed message part
unnecessary gc option check and balance_fs
Jaegeuk Kim (8):
f2fs: prevent checkpoint once any IO failure is detected
f2fs: cover global locks for reserve_new_block
f2fs: remove the use of page_cache_release
f2fs: avoid balanc_fs during evict_inode
f2fs: clarify and enhance the
It must be set READ_SYNC not READA.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/node.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index e275218..185454f 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -930,7 +930,7 @@ repeat:
if
ahead */
LOOKUP_NODE_RA, /*
* look up a node with readahead called
* by get_datablock_ro.
*/
}
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/data.c | 12 ++--
fs/f2fs/f2fs.h | 12
fs/f2fs/file.c
Hi,
2013-02-26 (화), 18:35 +0900, Namjae Jeon:
> 2013/2/26, Jaegeuk Kim :
> > It must be set READ_SYNC not READA.
> Hi Jaegeuk.
> Could you please elaborate more?
> Why we need to change READA to READ_SYNC over here, when the purpose
> was to read the node page in READ ahead
In order to do that, we should check additional conditions like i and
level together with mode == LOOKUP_NODE.
So, I'm not sure how much it makes clearer by using LOOKUP_NODE
explicitly.
It seems fine to me, since we can just use LOOKUP_NODE to distinguish it
from the other modes.
Any thought?
--
Jaegeuk Kim
Samsung
signature.asc
Description: This is a digitally signed message part
> On Tue, Oct 23, 2012 at 11:33:28AM +0900, Jaegeuk Kim wrote:
> > +config F2FS_STAT_FS
> > + bool "F2FS Status Information"
> > + depends on F2FS_FS
> > + default y
> > + help
> > + /proc/fs/f2fs/ contains information about partitions
> Hi.
>
> Building f2fs for ARM gives the following error:
>
> CC fs/f2fs/segment.o
> CC fs/f2fs/recovery.o
> fs/f2fs/segment.c: In function 'build_sit_info':
> fs/f2fs/segment.c:1399:2: error: implicit declaration of function 'vzalloc'
> [-Werror=implicit-
> function-declaration]
> -Original Message-
> From: NeilBrown [mailto:ne...@suse.de]
> Sent: Tuesday, October 23, 2012 12:47 PM
> To: Jaegeuk Kim
> Cc: linux-fsde...@vger.kernel.org; linux-kernel@vger.kernel.org;
> gre...@linuxfoundation.org;
> v...@zeniv.linux.org.uk; a...@arndb.de
> 2012/10/23 Jaegeuk Kim :
> > This adds a header file describing the on-disk layout of f2fs.
> >
> > Signed-off-by: Changman Lee
> > Signed-off-by: Chul Lee
> > Signed-off-by: Jaegeuk Kim
> > ---
> > include/linux/f2fs_fs.h | 362
> > +++
[snip]
> > + sb->s_op = &f2fs_sops;
> > + sb->s_xattr = f2fs_xattr_handlers;
> > + sb->s_magic = F2FS_SUPER_MAGIC;
> > + sb->s_fs_info = sbi;
>
> and s_time_gran?
Ok, I'll check this.
Thanks,
>
> Marco
---
Jae
gt; + }
> > +}
> > +#else
> > +#define __setattr_copy setattr_copy
> > +#endif
> > +
> > +int f2fs_setattr(struct dentry *dentry, struct iattr *attr)
> > +{
> > + struct inode *inode = dentry->d_inode;
> > + struct f2fs_inode_info *f
> -Original Message-
> From: Marco Stornelli [mailto:marco.storne...@gmail.com]
> Sent: Tuesday, October 23, 2012 4:02 PM
> To: Jaegeuk Kim
> Cc: linux-fsde...@vger.kernel.org; linux-kernel@vger.kernel.org;
> gre...@linuxfoundation.org;
> v...@zeniv.linux.org.
> 2012/10/23 Jaegeuk Kim :
> >
> >> -Original Message-
> >> From: Marco Stornelli [mailto:marco.storne...@gmail.com]
> >> Sent: Tuesday, October 23, 2012 4:02 PM
> >> To: Jaegeuk Kim
> >> Cc: linux-fsde...@vger.kernel.org; linux-ke
> On Tue, Oct 23, 2012 at 11:21:53AM +0900, Jaegeuk Kim wrote:
> > mkfs.f2fs
> > =
> >
> > The file system formatting tool, "mkfs.f2fs", is available from the
> > following
> > download page: http://sourceforge.net/projects/
> On Tue, Oct 23, 2012 at 11:26:59AM -0700, Greg KH wrote:
> > On Tue, Oct 23, 2012 at 11:21:53AM +0900, Jaegeuk Kim wrote:
> > > mkfs.f2fs
> > > =
> > >
> > > The file system formatting tool, "mkfs.f2fs", is available from th
> -Original Message-
> From: 'Greg KH' [mailto:gre...@linuxfoundation.org]
> Sent: Wednesday, October 24, 2012 12:01 PM
> To: Jaegeuk Kim
> Cc: linux-fsde...@vger.kernel.org; linux-kernel@vger.kernel.org;
> v...@zeniv.linux.org.uk;
> a...@arndb.de; ty..
> On Wed, Oct 24, 2012 at 08:18:36AM +0900, Jaegeuk Kim wrote:
> > > On Tue, Oct 23, 2012 at 11:26:59AM -0700, Greg KH wrote:
> > > > On Tue, Oct 23, 2012 at 11:21:53AM +0900, Jaegeuk Kim wrote:
> > > > > mkfs.f2fs
> > > > > =
> >
done some works additionally based on the patches.
Furthermore, for readability, I merged 3 stat files into one file, and
let it show all the superblocks together, no breakdown per partition.
I'll submit v3-series applying these changes soon.
Thanks,
>
> Oh, the third patch is buggy, don
I'll enhance the document as much as possible according to your
recommendation.
Thank you for intensive review. :)
---
Jaegeuk Kim
Samsung
> On Tue, 2012-10-23 at 11:25 +0900, Jaegeuk Kim wrote:
> > This adds a document describing the mount options, proc entries, usage, and
>
number */
> > + __le32 volume_serial_number;/* VSN is optional field */
>
> Usually, it is used 128-bits UUID for serial number. Why do you use
> __le32 as volume_serial_number?
Ok, I'll change.
[snip]
> > +/*
> > + * For directory operations
> > + */
> On Friday 26 October 2012, Jaegeuk Kim wrote:
>
> > > > +
> > > > +#define F2FS_ROOT_INO(sbi) (sbi->root_ino_num)
> > > > +#define F2FS_NODE_INO(sbi) (sbi->node_ino_num)
> > > > +#define F2FS_META_INO(sbi) (sb
2012-10-26 (금), 16:48 +0400, Vyacheslav Dubeyko:
> On Fri, 2012-10-26 at 12:31 +0900, Jaegeuk Kim wrote:
> > [snip]
> > > > +#define F2FS_SUPER_MAGIC 0xF2F52010
> > > > +#define F2FS_SUPER_OFFSET 0 /* start sector # for
> > >
My apologies...
I should have examined the patch itself more carefully.
I'll resend.
Thanks,
---
Jaegeuk Kim
Samsung
> -Original Message-
> From: Greg KH [mailto:gre...@linuxfoundation.org]
> Sent: Thursday, November 01, 2012 12:52 AM
> To: Jaegeuk Kim
that was present in the proc files, but this should be
fixed up in the future.
Signed-off-by: Greg Kroah-Hartman
[jaegeuk@samsung.com: merged 3 debugfs entries into a *status* entry]
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/debug.c | 361 +++
1
.f2fs
=
The file system formatting tool, "mkfs.f2fs", is available from the following
download page: http://sourceforge.net/projects/f2fs-tools/
Usage
=
If you'd like to experience f2fs, simply:
# mkfs.f2fs /dev/sdb1
# mount -t f2fs /dev/sdb1 /mnt/f2fs
Short log
==
This adds a document describing the mount options, proc entries, usage, and
design of Flash-Friendly File System, namely F2FS.
Signed-off-by: Jaegeuk Kim
---
Documentation/filesystems/00-INDEX |2 +
Documentation/filesystems/f2fs.txt | 417
2 files
This adds a header file describing the on-disk layout of f2fs.
Signed-off-by: Changman Lee
Signed-off-by: Chul Lee
Signed-off-by: Jaegeuk Kim
---
include/linux/f2fs_fs.h | 410 +++
1 file changed, 410 insertions(+)
create mode 100644 include/linux
This adds the implementation of superblock operations for f2fs, which includes
- init_f2fs_fs/exit_f2fs_fs
- f2fs_mount
- super_operations of f2fs
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/super.c | 656 +++
1 file changed, 656 insertions
order to provide an address space for meta pages, f2fs_sb_info has a special
inode, namely meta_inode. This patch also adds the address space operations for
meta_inode.
Signed-off-by: Chul Lee
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/checkpoint.c | 792
management such as getting, allocating, and
truncating node blocks to index data.
- In order to cache node blocks in memory, F2FS has a node_inode with an address
space for node pages. This patch also adds the address space operations for
node_inode.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/node.c
This adds memory operations and file/file_inode operations.
- F2FS supports fallocate(), mmap(), fsync(), and basic ioctl().
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/file.c | 637
1 file changed, 637 insertions(+)
create mode 100644 fs
This adds address space operations for data.
- F2FS supports readpages(), writepages(), and direct_IO().
- Because of out-of-place writes, f2fs_direct_IO() does not write data in place.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/data.c | 701
This adds core functions to get, read, write, and evict an inode.
Signed-off-by: Changman Lee
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/inode.c | 266 +++
1 file changed, 266 insertions(+)
create mode 100644 fs/f2fs/inode.c
diff --git a/fs
This adds inode operations for directory, symlink, and special inodes.
Signed-off-by: Changman Lee
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/namei.c | 504 +++
1 file changed, 504 insertions(+)
create mode 100644 fs/f2fs/namei.c
diff --git a
This adds core functions to find, add, delete, and link dentries.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/dir.c | 674
fs/f2fs/hash.c | 98
2 files changed, 772 insertions(+)
create mode 100644 fs/f2fs/dir.c
create mode
This implements xattr and acl functionalities.
- F2FS uses a node page to contain use extended attributes.
Signed-off-by: Changman Lee
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/acl.c | 465 +++
fs/f2fs/acl.h | 57 +++
fs/f2fs/xattr.c
of on-demand cleaning, F2FS should
move the data right away.
- In order to identify valid blocks in a victim segment, F2FS scans the bitmap
of the segment managed as an SIT entry.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/gc.c | 742 ++
fs
on of next node block in each direct node block for reconstructing
the chain of node blocks during the recovery.
- In order to enhance the performance, F2FS keeps a "dentry" mark also in direct
node blocks. If this is set during the recovery, F2FS replays adding a dentry.
Signed
files, but this should be
fixed up in the future.
Signed-off-by: Greg Kroah-Hartman
Acked-by: Jaegeuk Kim
---
fs/f2fs/debug.c | 361 +++
1 file changed, 361 insertions(+)
create mode 100644 fs/f2fs/debug.c
diff --git a/fs/f2fs/debug.c b/fs
This adds Makefile and Kconfig for f2fs, and updates Makefile and Kconfig files
in the fs directory.
In addition, add F2FS_SUPER_MAGIC in magic.h.
Signed-off-by: Jaegeuk Kim
---
fs/Kconfig |1 +
fs/Makefile|1 +
fs/f2fs/Kconfig| 52
functions to write data, node, and meta pages. Since LFS
basically produces a series of sequential writes, F2FS merges sequential bios
with a single one as much as possible to reduce the IO scheduling overhead.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/segment.c | 1798
This patch adds basic inode flags for inline xattrs, F2FS_INLINE_XATTR,
and add a mount option, inline_xattr, which is enabled when xattr is set.
If the mount option is enabled, all the files are marked with the inline_xattrs
flag.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/f2fs.h | 18
The __find_xattr is to search the wanted xattr entry starting from the
base_addr.
If not found, the returned entry is the last empty xattr entry that can be
allocated newly.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/xattr.c | 46 +-
fs/f2fs/xattr.h | 3
touch any existing files and
newly created files as well.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/f2fs.h | 16
fs/f2fs/node.c | 7 ++
fs/f2fs/xattr.c | 249
fs/f2fs/xattr.h | 12 +--
include/linux/f2fs_fs.h
The truncate_xattr_node function will be used by inline xattr.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/f2fs.h | 1 +
fs/f2fs/node.c | 39 ---
2 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 0343759
used by inline xattrs is defined as
F2FS_INLINE_XATTR_ADDRS.
Current patch assigns F2FS_INLINE_XATTR_ADDRS to 0 temporarily.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/data.c | 5 +++--
fs/f2fs/f2fs.h | 18 --
fs/f2fs/file.c | 2 +-
fs/f2fs/gc.c
The f2fs_set_link updates its parent inode number, so we should sync this to
the inode block.
Otherwise, the data can be lost after sudden-power-off.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/namei.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
index
_sel_policy {
> int alloc_mode; /* LFS or SSR */
> int gc_mode;/* GC_CB or GC_GREEDY */
> unsigned long *dirty_segmap;/* dirty segment bitmap */
> + int dirty_type;
int max_search; /* maximum # of segments to search */
> unsigned int offset;/* last scanned bitmap offset */
> unsigned int ofs_unit; /* bitmap search unit */
> unsigned int min_cost; /* minimum cost */
--
Jaegeuk Kim
Samsung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
per(struct super_block *sb, void
> *data, int silent)
> mutex_init(&sbi->gc_mutex);
> mutex_init(&sbi->writepages);
> mutex_init(&sbi->cp_mutex);
> + init_waitqueue_head(&sbi->writeback_wqh);
> for (i = 0; i < NR_GLOBAL_LOCKS; i++)
> mutex_init(&sbi->fs_lock[i]);
> mutex_init(&sbi->node_write);
>
--
Jaegeuk Kim
Samsung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Hi Jin,
2013-09-04 (수), 07:59 +0800, Jin Xu:
> Hi Jaegeuk,
>
> On 03/09/2013 08:45, Jaegeuk Kim wrote:
> > Hi Jin,
> >
> >> [...]
> >>>
> >>> It seems that we can obtain the performance gain just by setting the
> >>> MAX_VICT
Hi Jin,
2013-09-04 (수), 21:17 +0800, Jin Xu:
> Hi Jaegeuk,
>
> On 04/09/2013 17:40, Jaegeuk Kim wrote:
> > Hi Jin,
> >
> > 2013-09-04 (수), 07:59 +0800, Jin Xu:
> >> Hi Jaegeuk,
> >>
> >> On 03/09/2013 08:45, Jaegeuk Kim wrote:
> >>&g
ync, sector = 500109320, size = 500K
And finally, we can improve the sequential write performance,
from 458.775 MB/s to 479.945 MB/s on SSD.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/node.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/fs/f2fs/node.c b/fs/f2fs/nod
irty segments for SSR use most of the
> time when free space is in shortage). The well-known iozone test tool
> was not used for benchmarking the patch becuase it seems do not have
> a test case that performs random re-write on a full disk.
>
> This patch is the revised version based
nt label error
f2fs: use strncasecmp() simplify the string comparison
Jaegeuk Kim (21):
f2fs: recover date requested by fdatasync
f2fs: add proc entry to monitor current usage of segments
f2fs: update file name in the inode block during f2fs_rename
f2fs: fix i_name during
75c7dc3..4f27596
>
> --- a/fs/f2fs/super.c
>
> +++ b/fs/f2fs/super.c
>
> @@ -657,6 +657,7 @@ static int f2fs_fill_super(struct super_block *sb,
> void *data, int silent)
>
> mutex_init(&sbi->cp_mutex);
>
> for (i = 0; i < NR_GLOBAL_LOCKS; i++)
>
>
>
>
>
>
>
>
> --
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL
> 2012, more!
> Discover the easy way to master current and pr
spin_lock_init(&sbi->stat_lock);
>
> (END)
>
>
>
>
>
>
>
>
> --
> Learn t
During the f2fs_put_super procedure, we don't need to conduct checkpoint all
the time, since we don't need to do that if superblock is clean.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/super.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/super.c b/fs/f2
block according
to the wrong sbi->n_orphans.
To avoid this, simply we should make cover acquire_orphan_inode too with
f2fs_lock_op.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/namei.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
inde
Previously f2fs stores i_rdev information into i_addr.
But, if inline_xattr is set, f2fs should avoid using i_addr fields.
So, this patch adds to use i_nid fields instead of i_addrs when inline_xattr
is set.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/inode.c | 63
didn't need to do this before neither.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/f2fs.h | 13 -
fs/f2fs/super.c | 1 -
2 files changed, 14 deletions(-)
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index a955a59..308967b 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -18,8
TIM_SEARCH_THRESH 4096
> >>
> >> struct f2fs_gc_kthread {
> >>struct task_struct *f2fs_gc_task;
> >> diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
> >> index 062424a..cd33f96 100644
> >> --- a/fs/f2fs/segment.h
> >> +++ b/fs/f2fs/segment.h
> >> @@ -142,6 +142,7 @@ struct victim_sel_policy {
> >>int alloc_mode; /* LFS or SSR */
> >>int gc_mode;/* GC_CB or GC_GREEDY */
> >>unsigned long *dirty_segmap;/* dirty segment bitmap */
> >> + int dirty_type;
> >
> > int max_search; /* maximum # of segments to search */
> >
> >>unsigned int offset;/* last scanned bitmap offset */
> >>unsigned int ofs_unit; /* bitmap search unit */
> >>unsigned int min_cost; /* minimum cost */
> >
>
--
Jaegeuk Kim
Samsung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
The current f2fs uses all the block counts with 32 bit numbers, which is able to
cover about 15TB volume.
But in calculation of utilization, f2fs multiplies the count by 100 which can
induce overflow.
This patch fixes this.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/segment.h | 2 +-
1 file
Previously, f2fs conducts SSR when free_sections() < overprovision_sections.
But, even though there are a lot of prefree segments, it can consider SSR only.
So, let's consider the number of prefree segments too for triggering SSR.
Signed-off-by: Jaegeuk Kim
---
fs/f2fs/segment.h | 3 ++-
;
> > exit:
> > - mutex_unlock_op(sbi, ilock);
> > kzfree(base_addr);
> > return error;
> > }
> > +
> > +int f2fs_setxattr(struct inode *inode, int name_index, const char *name,
> > + const void *value, size_t valu
greg k-h
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Jae
gt; + ri->i_ctime = cpu_to_le32(inode->i_ctime.tv_sec);
> > + ri->i_mtime = cpu_to_le32(inode->i_mtime.tv_sec);
> > + ri->i_atime = cpu_to_le32(inode->i_atime.tv_sec);
> > + ri->current_depth = cpu_to_le32(F2FS_I(inode)->current_depth);
> > + ri->
age to majord...@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Jaegeuk Kim
Samsung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vge
t;
Ok, I'll take a look at this.
Thanks,
> > Regards
> >
> > Dan
> >
>
> Thanks
> Boaz
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majord...@vger.kernel.org
> More maj
2012-10-05 (금), 19:46 +0200, Martin Steigerwald:
> Am Freitag, 5. Oktober 2012 schrieb 김재극:
> > This adds a header file describing the on-disk layout of f2fs.
> >
> > Signed-off-by: Changman Lee
> > Signed-off-by: Chul Lee
> > Signed-off-by: Jaegeuk Kim
>
1 - 100 of 2588 matches
Mail list logo