@@ -40,7 +40,7 @@ createZdir () {
40
40
mount --verbose --types ext4 -o nosuid,noexec,nodev /dev/zram${RAM_DEV} ${ZDIR}${TARGET_DIR} / >> ${ZLOG} 2>&1 || return 1
41
41
mkdir -p ${ZDIR}${TARGET_DIR} /upper ${ZDIR}${TARGET_DIR} /workdir ${TARGET_DIR} >> ${ZLOG} 2>&1 || return 1
42
42
mount --verbose --types overlay -o lowerdir=${ZDIR}${BIND_DIR} ,upperdir=${ZDIR}${TARGET_DIR} /upper,workdir=${ZDIR}${TARGET_DIR} /workdir overlay ${TARGET_DIR} >> ${ZLOG} 2>&1 || return 1
43
- echo " dir /dev/zram${RAM_DEV} ${TARGET_DIR} ${BIND_DIR} " >> ${ZSHARE} /zram-device-list
43
+ echo " ${ZTYPE} /dev/zram${RAM_DEV} ${TARGET_DIR} ${BIND_DIR} " >> ${ZSHARE} /zram-device-list
44
44
else
45
45
echo " No mount dir in ztab" >> ${ZLOG}
46
46
return 1
@@ -53,29 +53,7 @@ createZdir () {
53
53
54
54
createZlog () {
55
55
invoke-rc.d rsyslog stop >> ${ZLOG} 2>&1 || return 1
56
- if [ ! -z " $BIND_DIR " ]
57
- then
58
- mkdir -p ${ZDIR}${BIND_DIR} >> ${ZLOG} 2>&1 || return 1
59
-
60
- if [ ! -z ${TARGET_DIR} ]
61
- then
62
- mount --verbose --bind ${TARGET_DIR} / ${ZDIR}${BIND_DIR} / >> ${ZLOG} 2>&1 || return 1
63
- mount --verbose --make-private ${ZDIR}${BIND_DIR} / >> ${ZLOG} 2>&1 || return 1
64
- createZdevice || return 1
65
- mke2fs -v -t ext4 /dev/zram${RAM_DEV} >> ${ZLOG} 2>&1 || return 1
66
- mkdir -p ${ZDIR}${TARGET_DIR} >> ${ZLOG} 2>&1 || return 1
67
- mount --verbose --types ext4 -o nosuid,noexec,nodev /dev/zram${RAM_DEV} ${ZDIR}${TARGET_DIR} / >> ${ZLOG} 2>&1 || return 1
68
- mkdir -p ${ZDIR}${TARGET_DIR} /upper ${ZDIR}${TARGET_DIR} /workdir ${TARGET_DIR} >> ${ZLOG} 2>&1 || return 1
69
- mount --verbose --types overlay -o lowerdir=${ZDIR}${BIND_DIR} ,upperdir=${ZDIR}${TARGET_DIR} /upper,workdir=${ZDIR}${TARGET_DIR} /workdir overlay ${TARGET_DIR} >> ${ZLOG} 2>&1 || return 1
70
- echo " log /dev/zram${RAM_DEV} ${TARGET_DIR} ${BIND_DIR} " >> ${ZSHARE} /zram-device-list
71
- else
72
- echo " No mount dir in ztab" >> ${ZLOG}
73
- return 1
74
- fi
75
- else
76
- echo " No bind dir in ztab" >> ${ZLOG}
77
- return 1
78
- fi
56
+ createZdir || return 1
79
57
invoke-rc.d rsyslog restart >> ${ZLOG} 2>&1 || return 1
80
58
journalctl --flush >> ${ZLOG} 2>&1 || return 1
81
59
if [ ! -z " $OLDLOG_DIR " ]
@@ -207,21 +185,6 @@ case "$1" in
207
185
rm -f ${ZSHARE} /zram-device-list >> ${ZLOG}
208
186
file=/etc/ztab
209
187
ZTAB_EMPTY=true
210
- # Only 1 log can exist also make first as then last removed
211
- line=$( grep ^log $file | head -n 1)
212
- if [ ! -z " $line " ]
213
- then
214
- set -- $line
215
- echo " ztab create $1 $2 $3 $4 $5 $6 $7 $8 $9 " >> ${ZLOG}
216
- ZTAB_EMPTY=false
217
- ALG=$2
218
- MEM_SIZE=$3
219
- DISK_SIZE=$4
220
- TARGET_DIR=$5
221
- BIND_DIR=$6
222
- OLDLOG_DIR=$7
223
- createZlog
224
- fi
225
188
while read -r line; do
226
189
case " $line " in
227
190
" #" * )
@@ -234,14 +197,11 @@ case "$1" in
234
197
continue
235
198
;;
236
199
237
- log* )
238
- # Skip empty line
239
- continue
240
- ;;
241
200
* )
242
201
set -- $line
243
202
echo " ztab create $1 $2 $3 $4 $5 $6 $7 $8 $9 " >> ${ZLOG}
244
203
ZTAB_EMPTY=false
204
+ ZTYPE=$1
245
205
ALG=$2
246
206
MEM_SIZE=$3
247
207
DISK_SIZE=$4
@@ -257,12 +217,19 @@ case "$1" in
257
217
BIND_DIR=$6
258
218
createZdir
259
219
;;
220
+ log)
221
+ TARGET_DIR=$5
222
+ BIND_DIR=$6
223
+ OLDLOG_DIR=$7
224
+ createZlog
225
+ ;;
260
226
esac
261
227
;;
262
228
esac
263
229
done < " $file "
264
230
if [ " $ZTAB_EMPTY " = true ] ; then
265
231
echo ' /etc/ztab is empty and needs to be configured' >> ${ZLOG}
232
+ exit 1
266
233
fi
267
234
;;
268
235
stop)
@@ -280,92 +247,38 @@ case "$1" in
280
247
# Skip empty line
281
248
continue
282
249
;;
283
-
284
- log* )
285
- # Skip empty line
286
- continue
287
- ;;
288
-
289
250
* )
290
251
set -- $line
291
252
echo " ztab remove $1 $2 $3 $4 " >> ${ZLOG}
292
-
293
253
case " $1 " in
294
254
swap)
255
+ ZTYPE=$1
295
256
ZRAM_DEV=$2
296
257
LABEL=$3
297
258
removeZswap
298
259
;;
299
260
dir)
261
+ ZTYPE=$1
300
262
ZRAM_DEV=$2
301
263
TARGET_DIR=$3
302
264
BIND_DIR=$4
303
265
removeZdir
304
266
;;
267
+ log)
268
+ ZTYPE=$1
269
+ ZRAM_DEV=$2
270
+ TARGET_DIR=$3
271
+ BIND_DIR=$4
272
+ removeZlog
273
+ ;;
305
274
esac
306
275
;;
307
276
esac
308
277
done < " $file "
309
- # Only 1 log can exist also make first as then last removed
310
- file=${ZSHARE} /zram-device-list.rev
311
- line=$( grep ^log $file | head -n 1)
312
- if [ ! -z " $line " ]
313
- then
314
- set -- $line
315
- echo " ztab remove $1 $2 $3 $4 $5 $6 $7 $8 $9 " >> ${ZLOG}
316
- ZTAB_EMPTY=false
317
- ZRAM_DEV=$2
318
- TARGET_DIR=$3
319
- BIND_DIR=$4
320
- removeZlog
321
- fi
322
278
rm -v ${ZSHARE} /zram-device-list.rev >> ${ZLOG}
323
279
;;
324
- write)
325
- echo " zram-config write $( date +%Y-%m-%d-%H:%M:%S) " >> ${ZLOG}
326
- file=/etc/ztab
327
- # Only 1 log can exist also make first as then last removed
328
- line=$( grep ^log $file | head -n 1)
329
- if [ ! -z " $line " ]
330
- then
331
- set -- $line
332
- echo " ztab write $1 $2 $3 $4 $5 $6 $7 $8 $9 " >> ${ZLOG}
333
- ZTAB_EMPTY=false
334
- ALG=$2
335
- MEM_SIZE=$3
336
- DISK_SIZE=$4
337
- TARGET_DIR=$5
338
- BIND_DIR=$6
339
- OLDLOG_DIR=$7
340
- syncToDisk
341
- fi
342
- while read -r line; do
343
- case " $line " in
344
- " #" * )
345
- # Skip comment line
346
- continue
347
- ;;
348
-
349
- " " )
350
- # Skip empty line
351
- continue
352
- ;;
353
-
354
- * )
355
- set -- $line
356
- ALG=$2
357
- MEM_SIZE=$3
358
- DISK_SIZE=$4
359
- case " $1 " in
360
- dir)
361
- echo " ztab write $1 $2 $3 $4 $5 $6 $7 $8 $9 " >> ${ZLOG}
362
- TARGET_DIR=$5
363
- BIND_DIR=$6
364
- syncToDisk
365
- ;;
366
- esac
367
- ;;
368
- esac
369
- done < " $file "
370
- ;;
280
+ * )
281
+ echo " Usage: zram-config {start|stop}" >&2
282
+ exit 1
283
+ ;;
371
284
esac
0 commit comments