/usr/lib/python2.7/dist-packages/ocfs2interface/fsck.py is in ocfs2console 1.6.4-3.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | # OCFS2Console - GUI frontend for OCFS2 management and debugging
# Copyright (C) 2005 Oracle. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 021110-1307, USA.
import gtk
import gobject
from terminal import TerminalDialog, terminal_ok as fsck_ok
base_command = ('fsck.ocfs2',)
def fsck_volume(parent, device, check=False):
if check:
check_str = 'check'
else:
check_str = 'repair'
title = 'File System ' + check_str.capitalize()
dialog = TerminalDialog(parent=parent, title=title)
terminal = dialog.terminal
dialog.finished = False
terminal.connect('child-exited', child_exited, dialog)
command = fsck_command(device, check)
gobject.idle_add(start_command, terminal, command, dialog)
while 1:
dialog.run()
if dialog.finished:
break
msg = ('File system %s is still running. You should not close this '
'window until it is finished' % check_str)
info = gtk.MessageDialog(parent=dialog,
flags=gtk.DIALOG_DESTROY_WITH_PARENT,
type=gtk.MESSAGE_WARNING,
buttons=gtk.BUTTONS_CLOSE,
message_format=msg)
info.run()
info.destroy()
dialog.destroy()
def start_command(terminal, command, dialog):
terminal.fork_command(command=command[0], argv=command)
return False
def child_exited(terminal, dialog):
dialog.finished = True
def fsck_command(device, check):
command = list(base_command)
if check:
command.append('-n')
else:
command.append('-y')
command.append("'%s'" % device)
realcommand = '%s; sleep 1' % ' '.join(command)
return ['/bin/sh', '-c', realcommand]
def main():
import sys
fsck_volume(None, sys.argv[1], check=True)
if __name__ == '__main__':
main()
|