On Mar 9, 2018, at 17:31, Ian Lepore <i...@freebsd.org> wrote:
> 
> On Fri, 2018-03-09 at 17:09 -0500, Mark Johnston wrote:
>> 
>> etc/rc.d/fsck doesn't know how to interpret the new exit code and now
>> just drops to a single-user shell when it is encountered. […]
>> 
>> Is there any reason etc/rc.d/fsck shouldn't automatically retry (up to

This is, in fact, the reason that I made the change I did. I was trying to put 
in a retry loop to rc.d/fsck, but found that I couldn’t get it to work because 
fsck and fsck_ffs were not exiting with non-zero status. The drop to single 
user is not really due to the specific (new) error code of 16, it is due to the 
fact that fsck_ffs is now exiting with a non-zero status when it hasn’t 
completely cleaned the file system; /any/ non-zero status would cause the 
current rc.d/fsck script to go to single user. Prior to my change, fsck_ffs was 
exiting with a zero status even though it had not completely cleaned the 
filesystem and told the user to run it again.

> 
> fsck_ffs already has a -R flag to automatically retry, wouldn't that be
> a better mechanism for handling this new type of retry?

That’s true; however, there is currently no way to pass that flag through the 
filesystem-agnostic fsck wrapper called from rc.d/fsck to the 
filesystem-specific fsck_ffs program that it calls. One could implement a 
similar flag on the fsck wrapper to be passed along to the filesystem-specific 
checker, but I think fsck_ffs is the only one that currently implements such a 
flag. 


-- 
David Bright
d...@freebsd.org



_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to