Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fs: fs-writeback: move sysctl to fs/fs-writeback.c

The dirtytime_expire_interval belongs to fs/fs-writeback.c, move it to
fs/fs-writeback.c from /kernel/sysctl.c. And remove the useless extern
variable declaration and the function declaration from
include/linux/writeback.h

Signed-off-by: Kaixiong Yu <yukaixiong@huawei.com>
Reviewed-by: Kees Cook <kees@kernel.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Joel Granados <joel.granados@kernel.org>

authored by

Kaixiong Yu and committed by
Joel Granados
94eed61d 97f5420e

+21 -21
+21 -9
fs/fs-writeback.c
··· 65 65 * timestamps written to disk after 12 hours, but in the worst case a 66 66 * few inodes might not their timestamps updated for 24 hours. 67 67 */ 68 - unsigned int dirtytime_expire_interval = 12 * 60 * 60; 68 + static unsigned int dirtytime_expire_interval = 12 * 60 * 60; 69 69 70 70 static inline struct inode *wb_inode(struct list_head *head) 71 71 { ··· 2435 2435 schedule_delayed_work(&dirtytime_work, dirtytime_expire_interval * HZ); 2436 2436 } 2437 2437 2438 - static int __init start_dirtytime_writeback(void) 2439 - { 2440 - schedule_delayed_work(&dirtytime_work, dirtytime_expire_interval * HZ); 2441 - return 0; 2442 - } 2443 - __initcall(start_dirtytime_writeback); 2444 - 2445 - int dirtytime_interval_handler(const struct ctl_table *table, int write, 2438 + static int dirtytime_interval_handler(const struct ctl_table *table, int write, 2446 2439 void *buffer, size_t *lenp, loff_t *ppos) 2447 2440 { 2448 2441 int ret; ··· 2445 2452 mod_delayed_work(system_wq, &dirtytime_work, 0); 2446 2453 return ret; 2447 2454 } 2455 + 2456 + static const struct ctl_table vm_fs_writeback_table[] = { 2457 + { 2458 + .procname = "dirtytime_expire_seconds", 2459 + .data = &dirtytime_expire_interval, 2460 + .maxlen = sizeof(dirtytime_expire_interval), 2461 + .mode = 0644, 2462 + .proc_handler = dirtytime_interval_handler, 2463 + .extra1 = SYSCTL_ZERO, 2464 + }, 2465 + }; 2466 + 2467 + static int __init start_dirtytime_writeback(void) 2468 + { 2469 + schedule_delayed_work(&dirtytime_work, dirtytime_expire_interval * HZ); 2470 + register_sysctl_init("vm", vm_fs_writeback_table); 2471 + return 0; 2472 + } 2473 + __initcall(start_dirtytime_writeback); 2448 2474 2449 2475 /** 2450 2476 * __mark_inode_dirty - internal function to mark an inode dirty
-4
include/linux/writeback.h
··· 327 327 /* These are exported to sysctl. */ 328 328 extern unsigned int dirty_writeback_interval; 329 329 extern unsigned int dirty_expire_interval; 330 - extern unsigned int dirtytime_expire_interval; 331 330 extern int laptop_mode; 332 - 333 - int dirtytime_interval_handler(const struct ctl_table *table, int write, 334 - void *buffer, size_t *lenp, loff_t *ppos); 335 331 336 332 void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty); 337 333 unsigned long wb_calc_thresh(struct bdi_writeback *wb, unsigned long thresh);
-8
kernel/sysctl.c
··· 2015 2015 2016 2016 static const struct ctl_table vm_table[] = { 2017 2017 { 2018 - .procname = "dirtytime_expire_seconds", 2019 - .data = &dirtytime_expire_interval, 2020 - .maxlen = sizeof(dirtytime_expire_interval), 2021 - .mode = 0644, 2022 - .proc_handler = dirtytime_interval_handler, 2023 - .extra1 = SYSCTL_ZERO, 2024 - }, 2025 - { 2026 2018 .procname = "drop_caches", 2027 2019 .data = &sysctl_drop_caches, 2028 2020 .maxlen = sizeof(int),