Index: lang/en_utf8/error.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lang/en_utf8/error.php,v
retrieving revision 1.185
diff -u -r1.185 error.php
--- lang/en_utf8/error.php	14 May 2009 11:49:13 -0000	1.185
+++ lang/en_utf8/error.php	18 May 2009 04:42:12 -0000
@@ -406,6 +406,7 @@
 $string['secretalreadyused'] = 'Change password confirmation link was already used, password was not changed';
 $string['sendmessage'] = 'Send message';
 $string['sessioncookiesdisable'] = 'Incorrect use of require_key_login() - session cookies must be disabled!';
+$string['sessiondiskfull'] = 'The session partition is full. It is not possible to login at this time.<br /><br />Please notify server administrator.';
 $string['sessionerroruser'] = 'Your session has timed out.  Please login again.';
 $string['sessionerroruser2'] = 'A server error that affects your login session was detected. Please login again or restart your browser.';
 $string['sessionipnomatch'] = 'Sorry, but your IP number seems to have changed from when you first logged in.  This security feature prevents crackers stealing your identity while logged in to this site.  Normal users should not be seeing this message - please ask the site administrator for help.';
Index: lib/sessionlib.php
===================================================================
RCS file: /cvsroot/moodle/moodle/lib/sessionlib.php,v
retrieving revision 1.39
diff -u -r1.39 sessionlib.php
--- lib/sessionlib.php	6 May 2009 08:29:23 -0000	1.39
+++ lib/sessionlib.php	18 May 2009 04:42:13 -0000
@@ -307,6 +307,9 @@
         if (!is_writable($CFG->dataroot .'/sessions/')) {
             print_error('sessionnotwritable', 'error');
         }
+        if (!(disk_free_space($CFG->dataroot.'/sessions') > 0)) {
+            print_error('sessiondiskfull', 'error');
+        }
         ini_set('session.save_path', $CFG->dataroot .'/sessions');
     }
 }
