Skip to content

Commit c2296a1

Browse files
Merge pull request #6 from StuartIanNaylor/OverlayFS
Overlay fs
2 parents 8be04dd + 01acc6b commit c2296a1

File tree

1 file changed

+23
-110
lines changed

1 file changed

+23
-110
lines changed

zram-config

+23-110
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ createZdir () {
4040
mount --verbose --types ext4 -o nosuid,noexec,nodev /dev/zram${RAM_DEV} ${ZDIR}${TARGET_DIR}/ >>${ZLOG} 2>&1 || return 1
4141
mkdir -p ${ZDIR}${TARGET_DIR}/upper ${ZDIR}${TARGET_DIR}/workdir ${TARGET_DIR} >>${ZLOG} 2>&1 || return 1
4242
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
4444
else
4545
echo "No mount dir in ztab" >>${ZLOG}
4646
return 1
@@ -53,29 +53,7 @@ createZdir () {
5353

5454
createZlog () {
5555
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
7957
invoke-rc.d rsyslog restart >>${ZLOG} 2>&1 || return 1
8058
journalctl --flush >>${ZLOG} 2>&1 || return 1
8159
if [ ! -z "$OLDLOG_DIR" ]
@@ -207,21 +185,6 @@ case "$1" in
207185
rm -f ${ZSHARE}/zram-device-list >>${ZLOG}
208186
file=/etc/ztab
209187
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
225188
while read -r line; do
226189
case "$line" in
227190
"#"*)
@@ -234,14 +197,11 @@ case "$1" in
234197
continue
235198
;;
236199

237-
log*)
238-
# Skip empty line
239-
continue
240-
;;
241200
*)
242201
set -- $line
243202
echo "ztab create $1 $2 $3 $4 $5 $6 $7 $8 $9" >>${ZLOG}
244203
ZTAB_EMPTY=false
204+
ZTYPE=$1
245205
ALG=$2
246206
MEM_SIZE=$3
247207
DISK_SIZE=$4
@@ -257,12 +217,19 @@ case "$1" in
257217
BIND_DIR=$6
258218
createZdir
259219
;;
220+
log)
221+
TARGET_DIR=$5
222+
BIND_DIR=$6
223+
OLDLOG_DIR=$7
224+
createZlog
225+
;;
260226
esac
261227
;;
262228
esac
263229
done < "$file"
264230
if [ "$ZTAB_EMPTY" = true ] ; then
265231
echo '/etc/ztab is empty and needs to be configured' >>${ZLOG}
232+
exit 1
266233
fi
267234
;;
268235
stop)
@@ -280,92 +247,38 @@ case "$1" in
280247
# Skip empty line
281248
continue
282249
;;
283-
284-
log*)
285-
# Skip empty line
286-
continue
287-
;;
288-
289250
*)
290251
set -- $line
291252
echo "ztab remove $1 $2 $3 $4" >>${ZLOG}
292-
293253
case "$1" in
294254
swap)
255+
ZTYPE=$1
295256
ZRAM_DEV=$2
296257
LABEL=$3
297258
removeZswap
298259
;;
299260
dir)
261+
ZTYPE=$1
300262
ZRAM_DEV=$2
301263
TARGET_DIR=$3
302264
BIND_DIR=$4
303265
removeZdir
304266
;;
267+
log)
268+
ZTYPE=$1
269+
ZRAM_DEV=$2
270+
TARGET_DIR=$3
271+
BIND_DIR=$4
272+
removeZlog
273+
;;
305274
esac
306275
;;
307276
esac
308277
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
322278
rm -v ${ZSHARE}/zram-device-list.rev >>${ZLOG}
323279
;;
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+
;;
371284
esac

0 commit comments

Comments
 (0)