- support asynchronous operation -- add a per-fs 'reserved_space' count, let each outstanding write reserve the _maximum_ amount of physical space it could take. Let GC flush the outstanding writes because the reservations will necessarily be pessimistic. With this we could even do shared writable mmap, if we can have a fs hook for do_wp_page() to make the reservation. - disable compression in commit_write()? - fine-tune the allocation / GC thresholds - chattr support - turning on/off and tuning compression per-inode - checkpointing (do we need this? scan is quite fast) - make the scan code populate real inodes so read_inode just after mount doesn't have to read the flash twice for large files. Make this a per-inode option, changeable with chattr, so you can decide which inodes should be in-core immediately after mount. - test, test, test - NAND flash support: - almost done :) - use bad block check instead of the hardwired byte check - Optimisations: - Split writes so they go to two separate blocks rather than just c->nextblock. By writing _new_ nodes to one block, and garbage-collected REF_PRISTINE nodes to a different one, we can separate clean nodes from those which are likely to become dirty, and end up with blocks which are each far closer to 100% or 0% clean, hence speeding up later GC progress dramatically. - Stop keeping name in-core with struct jffs2_full_dirent. If we keep the hash in the full dirent, we only need to go to the flash in lookup() when we think we've got a match, and in readdir(). - Doubly-linked next_in_ino list to allow us to free obsoleted raw_node_refs immediately? - Remove size from jffs2_raw_node_frag. dedekind: 1. __jffs2_flush_wbuf() has a strange 'pad' parameter. Eliminate. 2. get_sb()->build_fs()->scan() path... Why get_sb() removes scan()'s crap in case of failure? scan() does not clean everything. Fix. edb6fa1a6452edf736c04d02e3f6de59043df69e'>commitdiff
path: root/fs/xfs/libxfs
diff options
context:
space:
mode:
authorLuuk Paulussen <luuk.paulussen@alliedtelesis.co.nz>2016-12-08 11:43:34 +1300
committerRalf Baechle <ralf@linux-mips.org>2016-12-11 11:19:04 +0100
commitedb6fa1a6452edf736c04d02e3f6de59043df69e (patch)
treef854dd896b1e5033a26f305ec9a50a87b1b13939 /fs/xfs/libxfs
parent3e5de27e940d00d8d504dfb96625fb654f641509 (diff)
MIPS: Return -ENODEV from weak implementation of rtc_mips_set_time
The sync_cmos_clock function in kernel/time/ntp.c first tries to update the internal clock of the cpu by calling the "update_persistent_clock64" architecture specific function. If this returns -ENODEV, it then tries to update an external RTC using "rtc_set_ntp_time". On the mips architecture, the weak implementation of the underlying function would return 0 if it wasn't overridden. This meant that the sync_cmos_clock function would never try to update an external RTC (if both CONFIG_GENERIC_CMOS_UPDATE and CONFIG_RTC_SYSTOHC are configured) Returning -ENODEV instead, means that an external RTC will be tried. Signed-off-by: Luuk Paulussen <luuk.paulussen@alliedtelesis.co.nz> Reviewed-by: Richard Laing <richard.laing@alliedtelesis.co.nz> Reviewed-by: Scott Parlane <scott.parlane@alliedtelesis.co.nz> Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/14649/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'fs/xfs/libxfs')