On Wed, Feb 03, 2016 at 04:49:43PM +0300, Andrey Ryabinin wrote:
>
>
> On 02/03/2016 03:12 PM, Vladimir Davydov wrote:
>
> >>ub = get_exec_ub();
> >> @@ -246,15 +252,18 @@ SYSCALL_DEFINE0(sync)
> >>fsb = __ve_fsync_behavior(ve);
> >>if (fsb == FSYNC_NEVER)
> >>
On 02/03/2016 04:49 PM, Andrey Ryabinin wrote:
>>
>> If sync_ub != NULL, you sync inodes and bdevs twice, here and in
>> sync_filesystems_ve. Better move all the iterate_supers/bdevs from here
>> to sync_filesystems under !ub branch?
>>
>
> I'm thinking about something like this:
>
> @@ -255,1
On 02/03/2016 03:12 PM, Vladimir Davydov wrote:
>> ub = get_exec_ub();
>> @@ -246,15 +252,18 @@ SYSCALL_DEFINE0(sync)
>> fsb = __ve_fsync_behavior(ve);
>> if (fsb == FSYNC_NEVER)
>> goto skip;
>> +
>> +if (fsb == FSYNC_FILTERED)
>>
On Tue, Feb 02, 2016 at 06:51:55PM +0300, Andrey Ryabinin wrote:
...
> @@ -1427,17 +1440,8 @@ static void wait_sb_inodes(struct super_block *sb)
> iput(old_inode);
> }
>
> -/**
> - * writeback_inodes_sb_nr - writeback dirty inodes from given super_block
> - * @sb: the superblock
> - * @nr
The implementation is straightforward, since we already have per container
writeback. Sync just get user beancounter and launches writeback work for it.
https://jira.sw.ru/browse/PSBM-39583
Signed-off-by: Andrey Ryabinin
---
fs/fs-writeback.c | 85 +---