diff options
author | Jaegeuk Kim <jaegeuk@google.com> | 2020-07-22 13:05:09 -0700 |
---|---|---|
committer | Daniel Rosenberg <drosen@google.com> | 2021-03-03 02:42:48 +0000 |
commit | faa8d01ec556137ed260496b2fbbe0fecb1fbfb5 (patch) | |
tree | 39a9248a0b59f0dd9d39b313663d15061e6f13b1 /checkpoint_gc | |
parent | abcb45017092dd5041229ffe85e5b7f8182f519c (diff) | |
download | extras-faa8d01ec556137ed260496b2fbbe0fecb1fbfb5.tar.gz |
checkpoint_gc: use generic sysfs link
Bug: 161925472
Test: Run checkpoint_gc.sh
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Change-Id: Ifb87fb5d474eeddeb4c9622ee588abb59e886c5d
Merged-In: Ifb87fb5d474eeddeb4c9622ee588abb59e886c5d
Diffstat (limited to 'checkpoint_gc')
-rw-r--r-- | checkpoint_gc/checkpoint_gc.sh | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/checkpoint_gc/checkpoint_gc.sh b/checkpoint_gc/checkpoint_gc.sh index beaedcbc..f77e63a6 100644 --- a/checkpoint_gc/checkpoint_gc.sh +++ b/checkpoint_gc/checkpoint_gc.sh @@ -29,22 +29,16 @@ SLEEP=5 TIME=0 MAX_TIME=3600 -NAME=`while read dev dir type opt; do - if [ /data = ${dir} -a f2fs = ${type} ]; then - real_dev=$(realpath $dev) - echo ${real_dev##*/} - break - fi -done < /proc/mounts` -if [ -z "${NAME}" ]; then +if [ ! -d /dev/sys/fs/by-name/userdata ]; then exit 0 fi -log -pi -t checkpoint_gc Turning on GC for ${NAME} -read OLD_SLEEP < /sys/fs/f2fs/${NAME}/gc_urgent_sleep_time || exit 1 -echo 50 > /sys/fs/f2fs/${NAME}/gc_urgent_sleep_time || exit 1 -echo 1 > /sys/fs/f2fs/${NAME}/gc_urgent || exit 1 -read DIRTY_SEGMENTS_START < /sys/fs/f2fs/${NAME}/dirty_segments +log -pi -t checkpoint_gc Turning on GC for userdata +read OLD_SLEEP < /dev/sys/fs/by-name/userdata/gc_urgent_sleep_time || exit 1 +echo 50 > /dev/sys/fs/by-name/userdata/gc_urgent_sleep_time || exit 1 +echo 1 > /dev/sys/fs/by-name/userdata/gc_urgent || exit 1 + +read DIRTY_SEGMENTS_START < /dev/sys/fs/by-name/userdata/dirty_segments DIRTY_SEGMENTS=${DIRTY_SEGMENTS_START} TODO_SEGMENTS=$((${DIRTY_SEGMENTS_START}-${DIRTY_SEGMENTS_THRESHOLD})) while [ ${DIRTY_SEGMENTS} -gt ${DIRTY_SEGMENTS_THRESHOLD} ]; do @@ -54,19 +48,19 @@ while [ ${DIRTY_SEGMENTS} -gt ${DIRTY_SEGMENTS_THRESHOLD} ]; do PROGRESS=0 fi print -u${STATUS_FD} "global_progress ${PROGRESS}" - read DIRTY_SEGMENTS < /sys/fs/f2fs/${NAME}/dirty_segments + read DIRTY_SEGMENTS < /dev/sys/fs/by-name/userdata/dirty_segments sleep ${SLEEP} TIME=$((${TIME}+${SLEEP})) if [ ${TIME} -gt ${MAX_TIME} ]; then break fi # In case someone turns it off behind our back - echo 1 > /sys/fs/f2fs/${NAME}/gc_urgent + echo 1 > /dev/sys/fs/by-name/userdata/gc_urgent done -log -pi -t checkpoint_gc Turning off GC for ${NAME} -echo 0 > /sys/fs/f2fs/${NAME}/gc_urgent -echo ${OLD_SLEEP} > /sys/fs/f2fs/${NAME}/gc_urgent_sleep_time +log -pi -t checkpoint_gc Turning off GC for userdata +echo 0 > /dev/sys/fs/by-name/userdata/gc_urgent +echo ${OLD_SLEEP} > /dev/sys/fs/by-name/userdata/gc_urgent_sleep_time sync print -u${STATUS_FD} "global_progress 1.0" |