diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2007-01-13 11:15:48 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2007-01-13 11:15:48 +0000 |
commit | 5c7ad8c9155271b3c7b8fc9f08da43d3d9138b71 (patch) | |
tree | 82b2ba2633d966ce7d39d22574b9e50ddeffc3a3 /system.c | |
parent | 9b5b67eb43bf90e83834126dfde4472e5a721080 (diff) | |
download | strace-5c7ad8c9155271b3c7b8fc9f08da43d3d9138b71.tar.gz strace-5c7ad8c9155271b3c7b8fc9f08da43d3d9138b71.tar.bz2 strace-5c7ad8c9155271b3c7b8fc9f08da43d3d9138b71.tar.xz |
2007-01-11 Dmitry V. Levin <ldv@altlinux.org>
Update umount parser.
* system.c [LINUX] (MNT_FORCE, MNT_DETACH, MNT_EXPIRE): New macros.
[LINUX] (umount_flags): New xlat structure with MNT_* entries.
[LINUX] (sys_umount2): Use umount_flags.
Diffstat (limited to 'system.c')
-rw-r--r-- | system.c | 19 |
1 files changed, 13 insertions, 6 deletions
@@ -124,17 +124,24 @@ struct tcb *tcp; return 0; } +#define MNT_FORCE 0x00000001 /* Attempt to forcibily umount */ +#define MNT_DETACH 0x00000002 /* Just detach from the tree */ +#define MNT_EXPIRE 0x00000004 /* Mark for expiry */ + +static const struct xlat umount_flags[] = { + { MNT_FORCE, "MNT_FORCE" }, + { MNT_DETACH, "MNT_DETACH" }, + { MNT_EXPIRE, "MNT_EXPIRE" }, + { 0, NULL }, +}; + int -sys_umount2(tcp) -struct tcb *tcp; +sys_umount2(struct tcb *tcp) { if (entering(tcp)) { printstr(tcp, tcp->u_arg[0], -1); tprintf(", "); - if (tcp->u_arg[1] & 1) - tprintf("MNT_FORCE"); - else - tprintf("0"); + printflags(umount_flags, tcp->u_arg[1], "MNT_???"); } return 0; } |